在nginx中设置socket缓冲区大小

在src/event/ngx_event_connect.c中,方法ngx_event_connect_peer(ngx_peer_connection_t *pc)里设置了缓冲区大小,代码如下:
if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, (const void *) &pc->rcvbuf, sizeof(int)) == -1)

此处的&pc->rcvbuf即缓冲区大小。

但是此方法是针对于upstream来说的,所以缓冲区都是针对于后端服务的。

那么,针对于客户端和nginx之间的socket的缓冲区在哪设置呢?在core/ngx_connection.c文件中,ngx_configure_listening_sockets(ngx_cycle_t *cycle)方法中,即初始化socket时会设置。


另外,要知道的两点:

1. 该值是怎么获得的?可以看http://blog.csdn.net/dingyujie/article/details/7258357这篇文章,还有http://www.ki19.com/linux-304526.html这个答疑。

2. 如何设置?是通过更改源文件,还是有接口调用?在src/http/ngx_http.c文件的ngx_http_init_listening方法中直接修改ls->rcvbuf的大小

发布了12 篇原创文章 · 获赞 3 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览