较大的 keepalive_requests 值会严重减慢 Nginx 的速度

较大的 keepalive_requests 值会严重减慢 Nginx 的速度

在 Nginx 上运行 bacon(43 字节透明像素)负载测试时,我们尝试了几个keepalive_requests值(从 10 到 100,000),最佳值似乎是10

以下是此小回复的服务器 HTTP 标头:

   HTTP/1.1 200 OK
   Server: nginx/1.5.6
   Date: Wed, 23 Oct 2013 12:39:45 GMT
   Content-Type: image/gif
   Content-Length: 43
   Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
   Connection: keep-alive

keepalive_requests 100000Nginx使用 比 使用慢两倍keepalive_requests 10

你能帮助我们理解这个结果吗?或者告诉我们我们做错了什么?

作为参考,这里是nginx.conf 文件

答案1

根据上述评论的建议,我搜索了 Nginx 论坛,并找到了相同的问题 “启用 keepalive 会增加请求时间”一个月前发布的消息未获任何答复。

这看起来像是一个错误。必须等待修复。

答案2

我也遇到同样的问题。我用的是 multi_accept,但是我的 benchmark 工具的 -c num 比 nginx 的 keepalive_request 数量要小,而且我同时用 benchmark 工具使用了 -k 参数。所以其中一个 nginx worker 会尽可能多地接受和处理请求。

您可以尝试禁用multi_accept,那么结果可能会更好。

相关内容