当有大量请求时 PHP 重载

PHP overload when there are a lot of request

提问人:CCG 提问时间:11/2/2023 最后编辑:ADysonCCG 更新时间:11/2/2023 访问量:49

问:

我有一个网站接收了大量的流量负载,当 php 无法处理所有请求时,网络开始变慢,甚至在某些时候会导致错误 502 nginx,我在 php 文件中有这个设置,我一直在修改,但我找不到问题。服务器有 30 GB 的 RAM 和 8 个 CPU,运行 htop 命令我没有看到服务器已饱和。

有人可以帮助我修复它。

问候

原木

[02-Nov-2023 13:53:15] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 8 idle, and 94 total children
[02-Nov-2023 13:53:16] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 5 idle, and 96 total children
[02-Nov-2023 13:53:17] WARNING: [pool www] server reached pm.max_children setting (100), consider raising it
[02-Nov-2023 13:54:43] WARNING: [pool www] server reached pm.max_children setting (100), consider raising it
[02-Nov-2023 13:55:31] WARNING: [pool www] server reached pm.max_children setting (100), consider raising it
[02-Nov-2023 14:01:13] WARNING: [pool www] server reached pm.max_children setting (100), consider raising it
[02-Nov-2023 14:02:33] WARNING: [pool www] server reached pm.max_children setting (100), consider raising it
php ubuntu nginx 服务器 php-8.1

评论

1赞 ADyson 11/2/2023
您是否发现任何特定的PHP脚本执行速度较慢,或者使用大量资源?找到瓶颈并对其进行优化。
0赞 Danila Vershinin 11/2/2023
您实施了哪些缓存(如果有)?
0赞 HOSSEIN B 11/2/2023
您的问题太笼统了,我们没有关于您的网站和运行脚本的任何详细信息,但是您可以检查您的资源(可下载文件,如 CSS 文件或图像),您还应该尝试缓存并避免重复从数据库中读取数据,如果您使用任何特定的 CMS,您可以使用某些插件进行缓存。如果您自己编写代码,则应确保它们已优化。提供更多详细信息,以便我们为您提供更多帮助
1赞 Honk der Hase 11/2/2023
您是否尝试过,消息暗示,增加pm.max_children?
0赞 CCG 11/2/2023
您好,我无法检测到为什么会发生这种速度变慢,目前我使用 redis 作为缓存,或者我甚至可以配置服务器的本地缓存,但我没有得到改进。确实对数据库进行了许多查询,但我不知道这是否是速度变慢的原因。这是我的 configuration.pm = 动态 pm.max_children = 100 pm.start_servers = 20 pm.min_spare_servers = 晚上 10 点.max_spare_servers =35 ;p m.max_spawn_rate = 10 pm.process_idle_timeout = 60s;pm.max_requests = 500

答: 暂无答案