大的keepalive_requests值会严重降低Nginx的性能

当在Nginx上运行培根(43字节透明像素)负载testing时,我们尝试了几个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 

Nginx的keepalive_requests 100000keepalive_requests 10慢两倍。

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

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

根据上面的评论意见,我search了Nginx论坛和同一个题为“启用keepalive增加请求时间”的问题,并在一个月前发布留下没有任何答案。

它看起来像一个错误。 将不得不等待一个修复。

我遇到同样的问题。 我使用multi_accept,但是我的基准testing工具的-c数字低于nginx的keepalive_request数字,而我用户-k参数与基准testing工具同时使用。 所以nginx工作人员会尽可能地接受和处理请求。

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