我们正在运行一个拥有大量访客的传统LAMP平台(没有麻木)。在我们的网络服务器上,我们没有得到很多TIME_WAIT。我已经google了很多,并认为我理解TIME_WAIT的工作原理。但我还没弄明白这对我们来说是否真的有问题。
我继续调查的原因是我们的网络服务器每天都有几次提供静态文件的问题。传送一些文件可能需要30秒。然后几分钟后,他们以毫秒递送。同时,以毫秒为单位传递其他静态和动态页面。
我知道问题可能是由于各种原因造成的。但在寻找其他地方的问题之前,我想更多地探讨这个领域。
问题
以下是服务器的一些输出。
我在google搜索后做了一些调整,他们没有改变任何东西。
[root@web]# cat /proc/sys/net/ipv4/tcp_tw_reuse
1
[root@web]# cat /proc/sys/net/ipv4/tcp_fin_timeout
30
[root@web]# cat /proc/sys/net/ipv4/tcp_keepalive_intvl
30
[root@web]# cat /proc/sys/net/ipv4/tcp_keepalive_probes
5
一些netstat输出
[root@web]# date
Mon Apr 15 23:08:17 CEST 2013
[root@web]# netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
1 CLOSE_WAIT
39 CLOSING
117 ESTABLISHED
45 FIN_WAIT1
3 FIN_WAIT2
5 LAST_ACK
14 LISTEN
20 SYN_RECV
1155 TIME_WAIT
[root@web]# netstat --numeric-hosts |grep "mysql" |wc -l
377
[root@web]# netstat --numeric-hosts |grep "mysql.*TIME_WAIT" |wc -l
361
[root@web]# netstat --numeric-hosts |grep "http" |wc -l
1039
[root@web]# netstat --numeric-hosts |grep "http.*TIME_WAIT" |wc -l
842
[root@web]# date
Mon Apr 15 23:08:21 CEST 2013
我在mysql服务器上看不到任何问题。
[root@mysql]# netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
21 ESTABLISHED
7 LISTEN
128 TIME_WAIT
[root@mysql]# netstat --numeric-hosts |grep "mysql" |wc -l
147
[root@mysql]# netstat --numeric-hosts |grep "mysql.*TIME_WAIT" |wc -l
127
show proceslist - displays about 10 sleep processes
我觉得有用的一些链接
http://antmeetspenguin.blogspot.se/2008/10/timewait-in-netstat.html http://www.speedguide.net/articles/linux-tweaking-121