關於web服務器TIME_WAIT值高的問答

發件人: 周**
發送時間: 2011-03-04  18:54:37 
收件人: sery 
抄送: 
主題: 請教問題 
 
我看你們的服務器的連接都是比較正常的
[root@381263 conf]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in
發件人: 周**
發送時間: 2011-03-04  18:54:37
收件人: sery
抄送:
主題: 請教問題
 
我看你們的服務器的連接都是比較正常的
[root@381263 conf]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 427
FIN_WAIT1 2435
FIN_WAIT2 289
ESTABLISHED 14582
SYN_RECV 464
CLOSING 14
LAST_ACK 690

但是我們服務器卻是
[root@web1 ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 7188   //這個非常的高,我按網上的設置內核參數等 都沒有用。不知道什麼原因,我們這邊的開發是用的PHP+YII框架。
CLOSE_WAIT 6
FIN_WAIT1 114
FIN_WAIT2 76
ESTABLISHED 675
SYN_RECV 128
CLOSING 3
LAST_ACK 136

 
[root@web1 ~]# netstat -n|grep -i time_wait|grep 127.0.0.1:9000|wc -l     //光9000端口就非常的多
1378
[root@web1 runtime]# netstat -n|grep -i time_wait|grep 3306|wc -l   //MYSQL的有這麼多
2419
還請田大牛幫忙分析一下謝謝!

答覆:
考慮一下幾個情況:
1、數據庫的選項文件my.cnf 查看最大連接數爲多少,然後再登錄mysql客戶端,show processlist;查看線程數,如果線程數一直維持到某個大的數字(比如120),那麼可以診斷是mysql配置的問題。
2、php-fpm配置問題:需要關注的數值有 <value name="max_children">32</value> ,<value name="StartServers">200</value> ,<value name="rlimit_files">51200</value> , <value name="max_requests">1024</value>
3、是否開啓iptables?查看一下系統日誌/var/log/messages看是否有異常輸出,如“tables full”類型的。
4、內核參數文件 /etc/sysctl.conf,修該一次,查看一次。
2011-03-06

技術類原創圖書《互聯網運營智慧》由清華大學出版社出版發行http://www.china-pub.com/197193 歡迎行家批評斧正   田逸

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章