这个过程,Client端与nginx建立连接,nginx达到72W上限,主动断开新建立连接,出现大量TimeWait状态连接,client达不到需要建立的连接数,继续键连接,于是达tw_buckets上限。
17:02:52:
Tengine对client空闲TCP连接超时为60s,主动断开连接,出现TimeWait连接。同时net.ipv4.tcp_tw_timeout = 60,之前的TimeWait连接也逐步减少。
需要评估的是:
net.ipv4.tcp_max_tw_buckets = 180000
net.ipv4.tcp_tw_timeout = 60
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 131072
这两个取值是否仍然安全。在client请求达到上限时,会带来大量负载,机器hang风险。
推荐阅读:
Nginx做负载均衡报:nginx: [emerg] could not build the types_hash
Nginx 负载均衡模块 ngx_http_upstream_module 详述
Nginx+Firebug 让浏览器告诉你负载均衡将请求分到了哪台服务器
Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建)
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里