g63336180 发表于 2012-07-22 22:48

netstat查看php-cgi, 大量keepalive, 求大侠指点

我的nginx服务器经常出现502,
查看nestat显示结果如下:
]# netstat -anpo | grep cgi | more
tcp      0      0 60.x.x.x:53494         60.x.x.x:3306         ESTABLISHED 17429/php-cgi       keepalive
(2797.21/0/0)
tcp      0      0 60.x.x.x:44817         60.x.x.x:3306         ESTABLISHED 17293/php-cgi       keepalive
(1768.01/0/0)
tcp      0      0 60.x.x.x:57595      60.x.x.x :3306         ESTABLISHED 17282/php-cgi       keepalive
(2444.42/0/0)
tcp      0      0 60.x.x.x:58649         60.x.x.x:3306

#netstat -anpo |grep cgi |grep 3306 | wc -l 显示结果如下:
41

而且我的linux服务器链接mysql服务器特别慢, 但是另一台win 2003 链接mysql却很快

bikong0411 发表于 2012-07-23 08:54

fpm数量不够用了吧

chenlinbo5588 发表于 2012-07-23 14:49

PHP CGIKeepAlive 时间太长了, 可以考虑设置短一点, 另外MySQL数据库 对同一个IP 不同端口 的链接数量也是有限制的, 根据你的情况,很多CGI 进程可能被阻塞了

panzt 发表于 2012-08-09 23:03

用free看看内存消耗情况,用top查看进程和cpu占用情况,然后用
ps -A --sort -rss -o comm,pmem,pcpu |uniq -c |head -15 查看消耗内存的进程
如果你是用nginx,应该是用php-cgi的,一般情况是php-fpm.conf 设置里面的max_children的数量设置过大导致的,可以设小一点看看

stefan321 发表于 2012-09-02 14:29

页面移步请求不多可以吧 keepalive 关了

聪明鱼 发表于 2012-09-05 14:39

可以把时间调短些

bs 发表于 2012-09-08 14:58

你的502或许和这些数据库的长连接没啥关系,

另外看一下数据库的进程执行情况,是否有堵塞的慢查询。
页: [1]
查看完整版本: netstat查看php-cgi, 大量keepalive, 求大侠指点