我的服务器由于 CPU 使用率过高而运行非常缓慢。我认为这肯定是配置问题,但我说不出原因。该服务器正在运行 Plesk,我已将 PHP 配置为作为 Fast CGi 应用程序运行。
服务器规格:
Quad-Core AMD 2.2GHz
4GB RAM
Ubuntu 10.04
Apache 2.2.14
PHP 5.3.2
网站:
1 x Drupal 7
2 x WordPress 3.x
Apache 配置:
KeepAlive On
Timeout 30
MaxKeepAliveRequests 0
KeepAliveTimeout 2
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 5
MaxSpareServers 10
MaxClients 20
MaxRequestsPerChild 5000
</IfModule>
我启用了 APC,并且 Drupal 站点已打开所有缓存,包括视图中的缓存。我在 CentOS 上还有另一台服务器,运行着 100 多个站点,CPU 使用率非常低。有什么想法可能导致这种情况吗?
这是 mod_status 输出的截图
除了超出 MaxClients 之外,apache error.log 中也没有其他输出。
top
CPU 和内存线4月25日添加
答案1
答案2
我的问题现在已经解决,下面是我采取的步骤。
- 将服务器迁移到 Ubuntu 14 LTS,并安装最新软件(包括 PHP 5.5)
- 将 MySQL 负载拆分到其自己的服务器实例上
- 卸载不需要的 Drupal 模块
笔记:以上方法均未解决我的 CPU 问题
添加蜜罐来自http://www.projecthoneypot.org/然后 BOOM,CPU 负载降低到 10% 以下。所以我的问题归结于 HTTP 垃圾邮件以每秒超过 5 个请求(每天 400,000 个)的速度涌入一个包含大量 SQL 查询的页面,但有一个问题仍然存在...我的网站似乎无法很好地扩展,我想如果这是合法的流量,我必须尽可能地优化/缓存,正如 Janne 所建议的那样。
感谢大家的建议。