php减少线程数访问变慢,php-fpm线程卡导致网站无响应

原标题:php-fpm线程卡导致网站无响应

php-fpm线程卡导致网站无响应

网站突然打不开,查看了网站日志,未发现有攻击和流量异常现象。查看内存,负载都未有异常,于是查看php-fpm日志,发现了大量以下样式的警告通知。

[NOTICE] fpm_children_bury(), line 215: child 11514 (pool baddb.com) exited with code 0 after 759.234956 seconds from start

[NOTICE] fpm_children_make(), line 352: child 11685 (pool baddb.com) started

查阅资料发现,这可能是因为打开的页面文件过多,而默认的线程已不够使用,因此导致php-fpm线程僵死。

由于php线程打开文件句柄会有受限的可能。因此需要查看以下几方面。

1:允许打开的句柄总量开关。

使用ulimit -n命令来查看数值。默认发现为1024,我们需要加大该值。

vi /etc/security/limits.conf

在对应处加上例如

* - nofile 8192

该值为系统允许的文件句柄打开数量总开关,因此该值的大小决定上限。

2:修改php-fpm.conf文件,若对应站点有单独的php-fpm.conf文件设置,则修改对应的站点.conf,例如php/php-fpm/baddb.com.conf,主要需要修改两个参数。

参数一:max_requests值,设置为8192,因为系统句柄决定了该值,因为设置值比8192更大,也仍然会被认为是8192

参数二:rlimit_files值,同样设置为8192

3:可以适当增加php-fpm线程数量,线程数量高,表示并发越强,同一时间能处理的请求越高,但前提是内存和CPU足够支撑这。因此,该值不要随意设置增大。越大线程,会占用更多的CPU资源。后果可能是造成主机死机。

最后重启主机,重启后再使用ulimit -n命令来查看,发现已经是8192返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值