我有 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 请求比平时慢,尤其是在网站负载过重时。(但这些症状可能有很多不同的原因,所以不要立即得出这个结论。)
我只遇到过一次这个问题,这是由于某些服务器上的脚本行为不当,导致每次查询都会打开一个与数据库的新连接,而不是保持打开一个连接并在其上运行多个查询。这不是一个常见问题。