Heim  >  Artikel  >  Backend-Entwicklung  >  php日志报错child exited with code 0 after seconds from start

php日志报错child exited with code 0 after seconds from start

WBOY
WBOYOriginal
2016-06-20 12:55:412078Durchsuche

因为之前发生502了,日志提示

[27-May-2015 13:54:34] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 16 idle, and 602 total children

然后我就自己随意增加了pm.start_servers参数,一段时间后,php日志/usr/local/php/var/log/php-fpm.log部分信息如下:


[27-May-2015 15:13:48] NOTICE: [pool www] child 3998 started

[27-May-2015 15:13:59] NOTICE: [pool www] child 9242 exited with code 0 after 47575.960999 seconds from start

[27-May-2015 15:13:59] NOTICE: [pool www] child 4210 started

[27-May-2015 15:14:42] NOTICE: [pool www] child 9217 exited with code 0 after 47619.884065 seconds from start

[27-May-2015 15:14:42] NOTICE: [pool www] child 5621 started

[27-May-2015 15:14:43] NOTICE: [pool www] child 9561 exited with code 0 after 47620.024499 seconds from start


原因就是没有pm.start_servers这个参数没有按照下面的这个公式来:

pm.start_servers= min_spare_servers + (max_spare_servers - min_spare_servers) / 2

一般min_spare_servers设置为20

max_spare_servers是根据服务器本身的内存来计算的,标准算法就是内存大小除以30M

当然,有的php程序可能占用比较小,不到30M,这就看情况来计算了。

我设置的是这样的

过滤注释部分:

cat /usr/local/php/etc/php-fpm.conf | grep -v "^;" | grep -v "^$"


[global]

pid = run/php-fpm.pid

error_log = log/php-fpm.log

emergency_restart_threshold = 10

emergency_restart_interval = 1m

process_control_timeout = 10s

 

rlimit_files = 65535

 

events.mechanism = epoll

[www]

user = www

group = www

listen = 127.0.0.1:9000

 

pm = dynamic

pm.max_children = 1400

pm.start_servers = 710

pm.min_spare_servers = 20

pm.max_spare_servers = 1400

 

pm.max_requests = 10000

 

 

slowlog = log/$pool.log.slow


然后重新加载下
/usr/local/nginx/sbin/nginx -s reload

之后几天日志没有出现信息了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn