【发布时间】:2011-08-13 12:04:14
【问题描述】:
我使用 nginx 作为反向代理,并在上游服务器(windows 2003)中找到超过 30k TIME_WAIT 状态端口。我知道我的服务器“端口不足”,这里讨论了(http://nginx.org/pipermail/nginx/2009-April/011255.html),并将 nginx 和上游服务器都设置为重用 TIME_WAIT 并更快地回收。
[sysctl -p]
……
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
但是当上游的RPS在1分钟内高于1000时,nginx的错误日志中仍然可以找到“连接到上游服务器时连接超时”的错误。当上游是 Windows 时,服务器将在几秒钟内“端口不足”。
有什么想法吗?带有等待队列的连接池? Maxim Dounin 写了一个有用的模块来保持与 memcached 的连接,但是为什么它不能支持 Web Server?
【问题讨论】:
-
也许这是给serverfault.com的?
标签: nginx