![TIME_WAIT 连接数的增加是否会影响服务器性能?](https://linux22.com/image/609544/TIME_WAIT%20%E8%BF%9E%E6%8E%A5%E6%95%B0%E7%9A%84%E5%A2%9E%E5%8A%A0%E6%98%AF%E5%90%A6%E4%BC%9A%E5%BD%B1%E5%93%8D%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%80%A7%E8%83%BD%EF%BC%9F.png)
我有 2 台服务器,均运行 RHEL 6,一台运行 Apache 2.2,一台运行 memcached(memcached-1.4.4-3)。
TIME_WAIT
我注意到Apache 服务器上的连接数量有所增加
netstat -n | grep 11211 | awk '{print $6}' | sort | uniq -c
1 ESTABLISHED
807 TIME_WAIT
而且这个数字还在增加。
- 这是否
TIME_WAIT
意味着它仍在使用? - 增加数量会影响服务器性能吗?
- 我怎样才能摆脱它们?
答案1
TIME_WAIT
州内联系能但只有当它们的数量达到约 30,000 个时才会造成问题。
每个连接都保持本地 IP 地址和端口开放,以防来自先前完成的连接的任何数据包在连接关闭后被延迟并通过。 这是TCP的设计特点。
如果连接数量过多,则无法打开新连接,直到某些处于该TIME_WAIT
状态的连接过期。您可能会在前端看到的症状是 HTTP 请求比平时慢,尤其是在网站负载过重时。(但这些症状可能有很多不同的原因,所以不要立即得出这个结论。)
我只遇到过一次这个问题,这是由于某些服务器上的脚本行为不当,导致每次查询都会打开一个与数据库的新连接,而不是保持打开一个连接并在其上运行多个查询。这不是一个常见问题。