VPS服务器php-fpm线程僵死导致网站无响应
php-fpm线程僵死导致网站无响应
网站突然打不开,查看了网站日志,未发现有攻击和流量异常现象。查看内存,负载都未有异常,于是查看php-fpm日志,发现了大量以下样式的警告通知。
查阅资料发现,这可能是因为打开的页面文件过多,而默认的线程已不够使用,因此导致php-fpm线程僵死。
由于php线程打开文件句柄会有受限的可能。因此需要查看以下几方面。
1:允许打开的句柄总量开关。
使用ulimit -n命令来查看数值。默认发现为1024,我们需要加大该值。
在对应处加上例如
该值为系统允许的文件句柄打开数量总开关,因此该值的大小决定上限。
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
P
购买使用一诺网络香港服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。香港服务器低至29元/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2