Rya*_*sen 7 sockets tcp nginx nagle
最近,我在服务器端的延迟ACK和客户端的Nagle算法的组合,产生了可识别的40ms延迟,这里记录了:http://www.boundary.com/blog/2012/ 05 /知-A-延迟纳格尔算法,和你/
解决这个问题的最简单方法是在客户端使用TCP_NODELAY(或TCP_CORK也可以在我们的情况下使用).但是,我没有直接控制客户端,并想尝试服务器端修复.似乎TCP_QUICKACK选项在这里可以解决问题,因为服务器会立即发出ACK,导致客户端的Nagle算法无延迟地发送下一个数据包.
令人惊讶的是,我找不到任何人在尝试之前的任何参考.这是一个坏主意(除了我们将发送更多,可能是无偿的ACK)这一事实?由于看起来这个选项看起来不像任何nginx配置,所以最好直接修补nginx(也许是http://hg.nginx.org/nginx/file/dcae651b2a0c/src/http/ngx_http_request. c#l3025)?
谢谢!
我知道这个问题已经很老了,但无论如何让我回答一下。
因为看起来这个选项不能通过任何 nginx 配置使用
有 nginx tcp_nodelay指令来处理它。它通常与tcp_nopush和sendfile结合使用。
更多nginx优化请阅读这篇文章。
| 归档时间: |
|
| 查看次数: |
708 次 |
| 最近记录: |