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

相关推荐
泡海椒11 分钟前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
qq_3945620011 分钟前
【在Linux上升级nginx】
linux·服务器·nginx
丸子君君28 分钟前
【以麒麟服务器时间为准,定时请求时间同步】
运维·服务器·单片机
Tairitsu_H1 小时前
[Linux系统] 基础IO核心 | 系统接口 | 文件描述符 | 重定向
linux·服务器·文件操作
事已至此先睡覺吧1 小时前
(三)Linux 基础指令(二):基础常用的一些指令
linux·运维·服务器
不会写DN2 小时前
Go日志库工程选型与逃逸分析评测报告
java·服务器·golang
鬼手点金2 小时前
Claude Code示范案例-常用快捷命令
java·服务器·前端·计算机视觉·前向传播
阿钱真强道2 小时前
12 嵌入式操作系统 | UDP 服务器编程
服务器·网络协议·udp
青梅味猪大肠3 小时前
【操作系统-24】双标志先检查
linux·运维·服务器
华允物联-HUAIOT3 小时前
带隔离的串口服务器有必要买吗?隔离作用对比
服务器·物联网