服务器 CPU 负载过高问题!(Cpanel + CentOS 5)

服务器 CPU 负载过高问题!(Cpanel + CentOS 5)

我们服务器的 CPU 负载今天很高,有时会达到 560!.. 我们拥有最新的 Cpanel/whm,并且内核已更新!而平均负载是:

平均负载:39.05 75.01 45.33 Apache 日志为:

Current Time: Sunday, 30-Jan-2011 01:50:13 EST
Restart Time: Saturday, 29-Jan-2011 21:51:20 EST
Parent Server Generation: 2
Server uptime: 3 hours 58 minutes 53 seconds
Total accesses: 149493 - Total Traffic: 2.4 GB
CPU Usage: u9.17 s10.66 cu42.82 cs0 - .437% CPU load
10.4 requests/sec - 174.6 kB/second - 16.7 kB/request
121 requests currently being processed, 42 idle workers
W_WWW.__W_..W.W_W_WCWW..W...W.WWW.WWWW.WW.C_W_.W.WW.WC..W.WW._WW
.W_.W.W..__._WWWW.._.WW.CC.C.._W.WC.WW_WW._W....W.WWW.W.WWW.W..W
WW.....WW.W_WWWWW..WCRW..WWCW.WWW____.WWWWCW_W._._WW_W.._.W._..W
_W..W.._WW.W.._.._W..._WW.W._WWW..__W.WWW._WWW_....WW_._C._..W._
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

是什么原因导致 CPU 负载过高,而 apache CPU 负载正常?mysql 进程也正常。即使我停止 mail-http-mysql 服务,CPU 负载仍然很高!

答案1

  1. 查看 Apache 访问/错误日志文件。没有日志,很难说什么。
  2. 如果您有监控系统(Cacti、Zabbix……),请查看性能图形。
  3. 安装 nginx 前端
  4. 检查统计数据(top、ps、iostat、vmstat、iotop)
  5. 读取系统日志文件(/var/log/kernel.log、/var/log/syslog)

答案2

如果您有 raid 设置,您可以检查状态。3ware 硬件 raid 提供了不错的命令行实用程序。软件 raid 使用“mdadm”工具进行管理。我认为安装 nginx 对 cPanel 服务器来说不是一个好建议。这很可能是 ai/o 瓶颈,只需要进行一些微调。

答案3

在我看来,这个盒子很小,对吗?你可能要考虑升级,但解决当前问题会更好!

正如 alvosu 所说,您应该安装 nginx 或类似程序(litespeed、lighttpd)以减轻一点负载。Apache 在那里看起来相当繁忙。我还注意到,在短短 4 小时内,您有近 150,000 个请求 - 每分钟 625 个请求或过去 4 小时内每秒超过 12 个请求(平均)。如果您有一个小盒子,从这个来看似乎您有(虽然我掌握的信息很少),Apache 确实会让该 CPU 非常繁忙。

您是否考虑过这可能是拒绝服务攻击的结果?

答案4

我建议您查看 Cloudflare。它将位于您的网站前面并充当透明代理。在我们现在使用的使用它的网站中,我们发现它缓存了大约 75% 的 http 请求和 2/3 的带宽。

这可让您的服务器专注于脚本,并减少当前对您造成伤害的磁盘 i/o。

相关内容