php-fpm – PHP FPM一直挂着

前端之家收集整理的这篇文章主要介绍了php-fpm – PHP FPM一直挂着前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试过各种各样的选择,但是每隔几天(大多数时候每天)FPM停止提供页面,我得到502(来自切诺基网络服务器)

日志中包含以下内容

[15-Sep-2014 10:17:46] WARNING: [pool www] child 10135 exited on signal 11 (SIGSEGV - core dumped) after 15.512406 seconds from start
[15-Sep-2014 10:17:46] NOTICE: [pool www] child 10138 started
[15-Sep-2014 10:18:02] WARNING: [pool www] child 10138 exited on signal 11 (SIGSEGV - core dumped) after 15.657950 seconds from start
[15-Sep-2014 10:18:02] NOTICE: [pool www] child 10166 started
[15-Sep-2014 10:18:20] WARNING: [pool www] child 10212 exited on signal 11 (SIGSEGV - core dumped) after 10.192596 seconds from start
[15-Sep-2014 10:18:20] NOTICE: [pool www] child 10214 started
[15-Sep-2014 10:19:08] WARNING: [pool www] child 10216 exited on signal 11 (SIGSEGV - core dumped) after 42.754452 seconds from start
[15-Sep-2014 10:19:08] NOTICE: [pool www] child 10242 started
[15-Sep-2014 10:20:22] WARNING: [pool www] child 10332 exited on signal 11 (SIGSEGV - core dumped) after 14.862183 seconds from start
[15-Sep-2014 10:20:22] NOTICE: [pool www] child 10494 started
[15-Sep-2014 10:20:48] WARNING: [pool www] child 10494 exited on signal 11 (SIGSEGV - core dumped) after 26.415409 seconds from start
[15-Sep-2014 10:20:48] NOTICE: [pool www] child 10498 started
[15-Sep-2014 10:32:48] WARNING: [pool www] child 11718 exited on signal 11 (SIGSEGV - core dumped) after 21.319360 seconds from start
[15-Sep-2014 10:32:48] NOTICE: [pool www] child 11720 started

每次发生这种情况时,最后一次记录都类似于

[15-Sep-2014 11:01:34] WARNING: [pool www] server reached max_children setting (50),consider raising it

这是切诺基同时的连接,它甚至不是尖峰……

我尝试过动态,固定的按需,没有任何变化.无论我设置什么max_children它最终都会死掉.

为什么它不能恢复我不知道,但现在要切换到其他东西或制作一个每30分钟重启FPM的crontab

服务器

> rackspace第一代1024 MB RAM,40 GB磁盘
> Ubuntu 12.04 LTS
>切诺基1.2.103

PHP 5.3.10-1ubuntu3.11与Suhosin-Patch(cli)(内置:2014年4月4日01:30:04)
版权所有(c)1997-2012 PHP小组
Zend Engine v2.3.0,版权所有(c)1998-2012 Zend Technologies

网站获得大约2k页面浏览量,所以它甚至没有这么大的负荷.

内存使用率徘徊在300左右 – > 400mb,交换是空的,负载平均值是< 〜1.5 fpm配置

[global]
pid = /var/run/PHP5-fpm.pid
error_log = /var/log/PHP5-fpm.log
emergency_restart_threshold = 5
emergency_restart_interval = 1s
process.max = 75


include=/etc/PHP5/fpm/pool.d/*.conf

池配置

[www]
user = www-data
group = www-data
listen = 127.0.0.1:9000

pm = ondemand
pm.max_children = 50
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 6
pm.process_idle_timeout = 10s

pm.max_requests = 100
pm.status_path = /status

ping.path = /fpm/ping

chdir = /
增加服务器数量,更改配置或代码不会对分段错误有所帮助.即使在2014年,5.3.10也很长,并且需要升级.您可以使用gdb分析核心转储,但没有人会对修复旧版本的PHP中的错误非常感兴趣:升级.

猜你在找的PHP相关文章