TIME_WAIT
连接出现在主动关闭连接一方(TCP 四次握手断开连接),在大并发的时候,如果配置不当,系统就会出现大量 TIME_WAIT
的连接,导致系统响应慢,甚至无响应,可以修改系统内核的参数对其进行限制。
vi /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 8000
(限制为 8000,默认为 180000)sysctl -p
使其生效- 大并发测试:
ab -n20000 -c200 http://host:8080/
(Linux 安装 ab:yum install httpd-tools
)netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
(查看每种状态的连接数)