我有一个安装了 Apache 和 PHP-FPM 的 Debian 9 VPS。它通过 SSH 隧道连接到另一个 VPS 以访问通用数据库服务器 VPS。大多数情况下,这都运行良好。
运行断链测试会给 Web 服务器带来高负载。前 350 个左右的页面运行顺利。SSH CPU 需求约为 2%,几个 FPM 进程似乎可以应付。数据库显示相关进程,但这些进程很快就会发生变化。
但随后,不知何故,SSH 的 CPU 使用率上升到 20% 左右。FPM 进程数趋于增加。Web 服务器仍在响应。现在,连接到 Web 服务器的数据库服务器上经常有休眠进程。
过了一段时间后,服务器通常会进入几乎看不到任何动静的状态。数据库服务器显示相同的五个进程,通常都是休眠状态。网站运行极其缓慢或超时。然而,SSH CPU 仍然以 20% 到 30% 或更高的速度运行,并且 FPM 进程都占用了大量 CPU。我真的不知道这些 CPU 在做什么——没有任何外部显示。
当这种情况发生并且网站处于停滞状态时,我仍然可以与数据库建立新连接并快速获得查询结果。因此隧道仍可通过命令行使用。
在整个过程中,数据库服务器看起来很好,并且正在快速响应来自其他 Web 服务器的请求。
可能发生什么情况?为什么?这是 FPM 问题还是 SSH 问题?