我有两台运行RHEL 6的服务器,一台用于Apache 2.2,一台用于memcached(memcached-1.4.4-3)。
我注意到Apache服务器上的TIME_WAIT连接数量有所增加
netstat -n | grep 11211 | awk '{print $6}' | sort | uniq -c 1 ESTABLISHED 807 TIME_WAIT
而且这个数字还在增加。
TIME_WAIT是否意味着它仍然被使用? 在TIME_WAIT状态下的连接可能会导致一个问题,但只有当你达到约30,000个。
这些连接中的每一个都保持打开本地IP地址和端口,以防在连接closures之后,来自早先完成的连接的更多分组被延迟并通过。 这是TCP的devise特征 。
如果您有太多的连接,则在TIME_WAIT状态中的某些连接到期之前,无法打开新的连接。 您可能在前端看到的症状是比平时更慢的HTTP请求,特别是当网站负载过重时。 (但是这些症状可以有很多不同的原因,所以不要立即跳到这个结论。)
我只有一次遇到这个问题,这是由于一些服务器上的一个错误的脚本,为每个查询打开一个新的连接到数据库,而不是保持打开一个单一的连接,并运行多个查询。 这不是一个普遍的问题。