1

我们正在运行一个有很多访问者的传统 LAMP 平台(没有数字)。在我们的网络服务器上,我们没有得到很多 TIME_WAIT。我用谷歌搜索了很多,并且认为我了解 TIME_WAIT 的工作原理。但我还没有弄清楚这对我们来说是否真的是一个问题。

我继续调查的原因是我们的网络服务器一天多次出现问题,甚至无法提供静态文件。传送某些文件最多可能需要 30 秒。然后几分钟后,他们在毫秒内交付。同时其他静态和动态页面以毫秒为单位交付。

我知道问题可能是由于多种不同的原因造成的。但在寻找其他地方的问题之前,我想多探索一下这个领域。

问题

  • 我的 TIME_WAIT:sa 有问题吗?
  • 我能做些什么来减少它们?

这是服务器的一些输出。

首先我在谷歌搜索后做了一些调整,它们并没有改变任何东西。

[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

4

0 回答 0