突然发现内部开发服务器,一天死几次。重启 php cgi 就好了。查看 nginx error 日志无果。
默然我只开了 5个 cgi 子进程。
ps -aux | egrep 'php-cgi| cat -n
就可以看到 5个 子进程的状态。主要是看 cpu 那一列。发现几乎都没用到
1 nginx 23699 0.0 0.2 20880 4764 ? Ss Oct27 0:00 /usr/bin/php-cgi 2 nginx 23700 0.0 0.4 25336 8928 ? S Oct27 0:01 /usr/bin/php-cgi 3 nginx 23701 0.0 0.4 25928 9420 ? S Oct27 0:02 /usr/bin/php-cgi 4 nginx 23702 0.0 0.4 25476 9160 ? S Oct27 0:02 /usr/bin/php-cgi 5 nginx 23703 0.0 0.4 25740 9224 ? S Oct27 0:02 /usr/bin/php-cgi
查看 目前用了多少 php cgi
netstat -anpot | grep "php" | wc -l
tcp 0 0 192.168.1.244:56307 222.216.8.169:3306 ESTABLISHED 22135/php-cgi keepalive (6430.40/0/0) tcp 0 0 192.168.1.244:56326 222.216.8.169:3306 ESTABLISHED 22134/php-cgi keepalive (6619.92/0/0) tcp 0 0 192.168.1.244:36736 222.216.8.169:3306 ESTABLISHED 22127/php-cgi keepalive (6074.89/0/0)
多倒不多,但是 确实 每一个运行都耗费了 好长时间而不释放。 而且好奇怪。我是内部开发服务器。怎么连接的确实外部的 主数据库。。因为外部主数据库有严格的权限控制。所以 肯定是连接不上。而php 又不超时。。导致了一直连。
赶紧查找,那些代码上 写了 连接 外部数据库的:
grep 'db.xxxx.com' -r /data/html
发现了好多~~~
干脆。一次替换。
sed -i "s/db.beihai365.com/localhost/g" `grep 'db.beihai365.com' -rl /data/html/`
一直到目前。内部开发服务器 就没有死过。。。 是否真解决了。还有待观察。