答案1
- 减少 Apache 创建的子页面数量。数十个网页相互干扰没有任何好处。Apache 很乐意延迟启动新页面。
- 如果“高平均负载”是由 MySQL 引起的,那么很可能是缺少索引或公式化不当
SELECT
。找到那个不合理的查询,然后在 stackoverflow.com 上提出问题,讨论如何改进它。
至于SHOW PROCESSLIST
您添加的内容,我的评论是 Zzzzzzzzzzz。MySQL 没有做“任何事情”——请注意,基本上所有连接都处于“睡眠”模式。“睡眠”是连接(可能来自连接池)的状态,除了等待下一个 SQL 语句发送给它之外,它什么也不做。
看看top
... 看起来 mysqld 使用了 2 个核心的 CPU 能力,而 Apache 使用了 6 个核心的 CPU 能力。您使用的是哪个客户端?对于 PHP,您有一些需要优化的繁忙 PHP 代码。首先查看每个循环,尤其是嵌套循环。
至于“突发问题”,... 这种情况(以我的经验来看)会持续一段时间,然后“突然”‘爆发’。它们通常最终会平息。当然,您可以关闭 Apache 或 mysqld,或者重新启动或阻止客户端进入。与此同时,您的‘用户’会获得糟糕的‘用户体验’。
答案2
供以后参考,问题出在 RAID 控制器故障。两台相同年龄的相同服务器的 RAID 控制器在一周内相继出现故障。
不仅 RAID 控制器出现故障,而且用于告知我 RAID 控制器出现故障的系统通知也失败了。