发件人: 周**
发送时间: 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 欢迎行家批评斧正   田逸