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

相关推荐
睿本云7 小时前
产品月报|睿本云10月产品功能迭代
运维·服务器·apache
聪明努力的积极向上7 小时前
【C#】HTTP中URL编码方式解析
开发语言·http·c#
白榆!7 小时前
Linux 基本指令入门:从基础操作到实战应用
linux·运维·服务器
kyle~7 小时前
CPU调度---协程
java·linux·服务器·数据库·c++20
IDOlaoluo7 小时前
SQL Server 2017 Developer 中文版安装教程(64位 ISO 文件详细步骤)
服务器·数据库·负载均衡
AI浩8 小时前
深入级联不稳定性:从 Lipschitz 连续性视角探讨图像恢复与目标检测的协同作用
人工智能·目标检测·php
huangql5208 小时前
HTTP协议与WebSocket完整技术指南
websocket·网络协议·http
宁雨桥8 小时前
基于 Debian 服务器的前端项目部署完整教程
服务器·前端·debian
宁雨桥9 小时前
Debian 服务器环境搭建全指南:从工具选型到项目部署实战
运维·服务器·debian
一匹电信狗9 小时前
【C++】红黑树详解(2w字详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio