太多人访问php程序会崩掉吗,当做大量工作时,PHP-FPM的用户数太多,会崩溃

我有一台服务器运行Apache / 2.2.22(Debian),PHP 5.6.17作为FPM和MySQL 5.6.25。

该项目运行使用称为Redaxo的CMS(我不认为这很重要,但我会告诉你)。在Redaxo中有一些功能需要一些时间(例如删除缓存并重建需要1-2分钟)。在这个时候,当其他用户进入网站FPM崩溃与500内部服务器错误,我必须重新加载页面多次,直到服务器错误消失,并且过程完成。

我注意到,只有在同一时间内有太多用户在网站上,并且只有在繁重的操作完成时才会发生这种情况。

10个用户同时冲浪=没有问题

10个用户在同一时间冲浪,而缓存删除= 500每个人的错误。

我通过不允许除了我以外的所有人的网站(.htaccess拒绝/允许与ip)来检查。然后我做了很大的操作,没有问题。一旦有多人再次在网站上,问题再次出现。

可能是什么你需要什么信息?

这些值在php-fpm.conf中设置(未注释)

[global]

pid = /run/php5-fpm.pid

error_log = /var/log/php5-fpm.log

emergency_restart_threshold = 0

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

这些值在项目特定的fpm.conf中设置(未注释)

[projectname]

user = projectname

group = projectname

listen = /var/run/php5-fpm-projectname.sock

listen.owner = projectname

listen.group = projectname

listen.mode = 0660

pm = dynamic

pm.max_children = 150

pm.start_servers = 10

pm.min_spare_servers = 10

pm.max_spare_servers = 30

chdir = /

php_value[upload_max_filesize] = 128M

php_value[max_post_size] = 128M

php_value[max_execution_time] = 180

php_value[memory_limit] = 256M

当脚本失败时,如果有帮助,MySQL和文件创建会很多吗?但是它很大,所以我不知道我是否应该在这里张贴?还是甚至是问题?

apache错误日志说这个

[Tue Feb 09 10:54:01 2016] [error] [client {IP}] (104)Connection reset by peer: FastCGI: comm with server "/fcgi-bin-php5-fpm-projectnmae" aborted: read failed

[Tue Feb 09 10:54:01 2016] [error] [client {IP}] FastCGI: incomplete headers (0 bytes) received from server "/fcgi-bin-php5-fpm-projectnmae"

或这个

[Tue Feb 09 11:00:46 2016] [error] [client {IP}] FastCGI: incomplete headers (0 bytes) received from server "/fcgi-bin-php5-fpm-projectname"

[Tue Feb 09 11:00:48 2016] [error] [client {IP}] (104)Connection reset by peer: FastCGI: comm with server "/fcgi-bin-php5-fpm-projectname" aborted: read failed

fpm-log说如下。总是不同的时间当然

[10-Feb-2016 09:40:59] WARNING: [pool projectname] child 10970 exited on signal 7 (SIGBUS) after 50.186611 seconds from start

[10-Feb-2016 09:40:59] NOTICE: [pool projectname] child 11092 started

有时候会有这样的警告

[09-Feb-2016 11:00:41] WARNING: [pool projectname] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 6 total children

[09-Feb-2016 11:00:42] WARNING: [pool projectname] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 0 idle, and 7 total children

这里有一些更多的调试信息

[18-Feb-2016 17:42:01] WARNING: [pool projectname] child 9088 exited on signal 7 (SIGBUS) after 70.130564 seconds from start

[18-Feb-2016 17:42:01] NOTICE: [pool projectname] child 9205 started

[18-Feb-2016 17:43:55] WARNING: [pool projectname] child 9099 said into stderr: "NOTICE: PHP message: PHP Notice: Undefined offset: 1181 in /var/www/projectname/htdocs/redaxo/include/classes/class.ooarticle.inc.php on line 44"

[18-Feb-2016 17:43:55] WARNING: [pool projectname] child 9099 said into stderr: "NOTICE: PHP message: PHP Warning: Invalid argument supplied for foreach() in /var/www/projectname/htdocs/redaxo/include/classes/class.ooredaxo.inc.php on line 134"

[18-Feb-2016 17:43:55] WARNING: [pool projectname] child 9099 exited on signal 7 (SIGBUS) after 183.838886 seconds from start

[18-Feb-2016 17:43:55] NOTICE: [pool projectname] child 9330 started

[18-Feb-2016 17:44:00] WARNING: [pool projectname] child 9101 exited on signal 7 (SIGBUS) after 188.987954 seconds from start

[18-Feb-2016 17:44:00] NOTICE: [pool projectname] child 9336 started

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值