php 服务器 http状态码为499的解决办法

原因:某些http请求服务端处理太慢,影响了其他http请求。

1.配置php.ini的`max_execution_time`和`max_input_time`。但是改后还是报了不少的499。

(set_time_limit()函数和配置指令max_execution_time只影响脚本本身执行的时间。任何发生在诸如使用system()的系统调用,流操作,数据库操作等的脚本执行的最大时间不包括其中,当该脚本已运行。在测量时间是实值的Windows中,情况就不是如此了。)

2.到`php-fpm.conf`里面设置为`request_terminate_timeout = 10`,很少报499,但是偶尔还会出现。`request_terminate_timeout`会杀掉进程,导致偶尔出现502http状态码。

3.`根本原因`是php提供的进程太少,处理不过来,应该多加进程。

原来的配置是:

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3

改为:(可以根据情况调得更大)

pm.max_children = 20

pm.start_servers = 10

pm.min_spare_servers = 10

pm.max_spare_servers = 20

4.结合php慢日志(slowlog)来找出执行慢的脚本,并优化之。

设置:

request_slowlog_timeout = 5

slowlog = /data/logs/php-fpm-slowlog.log

相关推荐
江沉晚呤时3 分钟前
C#中观察者模式(Observer Pattern)深入解析
java·服务器·数据库
听风说雨的人儿11 分钟前
浅谈在HTTP中GET与POST的区别
网络·网络协议·http
愚润求学22 分钟前
Linux开发工具——gcc
linux·服务器·开发语言
QC七哥22 分钟前
一个简单的php加密的理解
php
科创未来25 分钟前
自动化备份全网服务器数据平台
服务器·自动化·github
照书抄代码30 分钟前
Linux中用gdb查看coredump文件
linux·运维·服务器
czhc114007566331 分钟前
Linux2 CD LL hostnamectl type mkdir dudo
运维·服务器
ℳℓ白ℳℓ夜ℳℓ1 小时前
Linux网络应用层自定义协议与序列化
linux·运维·服务器
江沉晚呤时1 小时前
如何深入理解C#中的备忘录模式(Memento Pattern)设计模式
运维·服务器·数据库·c#·.netcore
23zhgjx-hyh1 小时前
IS-IS认证
运维·服务器·网络