网络服务器上出现奇怪的 CPU 负载峰值

网络服务器上出现奇怪的 CPU 负载峰值

我的网站出现了奇怪、非常奇怪的 CPU 负载峰值。

正常加载大约 2-3,当我有这个峰值时,大约有 100-150 个峰值可能随时出现。不取决于我的正常加载情况。(例如在早上 6 点)峰值很短 2-3-5 分钟

CPU 负载影响网络流量和 nginx 请求数量。这次我对 Web 服务器的请求不多。

服务器是分离的Web服务器,在另一台服务器上有nginx,php-fpm,redis,rabbit-mq,mysql。

我真的需要建议,我怎么才能知道这个的来源。当我知道来源时,我会消除它。我非常感谢你的建议。

来自zabbix监控的图表:

负荷峰值

交通低谷

答案1

这是内存问题。当内存不足时,php-fpm 进程会冻结,进入交换状态,实际上您的 Web 服务器会停止运行。

因此,您应该知道每个 php-fpm 进程的平均内存消耗。取高峰时段分配给所有 php-fpm 进程的内存 - M 取总活动进程 - P 平均值 = M / P 我们有平均值 = 30 Mb。因此,如果 php-fpm 最大子进程数 = 300,我们需要大约 9 Gb 内存用于 php-fpm。我们通过减少 redis 缓存的内存来临时解决这个问题,将来会将此服务器的内存增加一倍。

相关内容