[英]Apache HTTP consuming too much CPU
我在使用Apache Web Server加载CPU时遇到了一些麻烦。
我们正在虚拟机上运行Ubuntu Server 12.04 LTS 。 我们的服务器具有以下规格:
我们将服务器配置为运行基于Drupal(7.23)的网站 。 因此,我们安装了Apache,PHP,MySQL ...以下版本:
我也正在运行一些Apache模块 。 看一下( apachectl -M
):
在apache2.conf上 ,我们有以下配置:
Timeout 90
KeepAlive On
MaxKeepAliveRequests 80
KeepAliveTimeout 5
HostnameLookups Off
LogLevel warn
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 30
MaxClients 120
MaxRequestsPerChild 1000
</IfModule>
我的网站的虚拟主机 :
<VirtualHost *:80>
ServerName blabla.bla.bla
ServerAdmin bla@bla.com
DocumentRoot /l/disk0/site/public_html
<Directory />
AllowOverride None
</Directory>
<Directory /l/disk0/site/public_html>
Options MultiViews Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
ErrorLog "/l/disk0/site/logs/apache/site/error.log"
CustomLog "/l/disk0/site/logs/apache/sit/access.log" combined
SSLProxyEngine on
RewriteEngine on
RewriteLog logs/rewrite_www_log
RewriteLogLevel 0
Include rewrites-www.conf
</VirtualHost>
Drupal模块:
我的网站很简单,没有太多的访问者。 我每天可能要谈论500位访客。 Drupal会导致这么多的CPU负载吗? 还是模块?
我的问题是CPU(所有内核)的负载很高。 大多数情况下,负载会达到90%到100%之间! 令人讨厌的过程是apache2 。 内存消耗也很可惜。 在总共8GB的内存中,消耗的内存约为6.5GB至7.5GB 。 我不知道我的apache配置是否错误,或者我是否真的需要更多硬件(我想不是)。 Drupal会导致CPU负载过高吗?
当CPU负载达到100%时,该站点将关闭,我们必须重新启动apache。 我使用APC并安装Boost来与Drupal一起解决问题。 虽然有一定效果,但是CPU负载仍然很高。 很高。
如果您需要更多信息,例如Drupal模块和PHP扩展。 请告诉我。
我不是服务器专家,所以我无法指出确切原因。 Drupal每次调用消耗约10MB的内存。 安装Devel模块,然后有一个复选框将在调用页面时在页面的每一端放置页面加载和内存使用情况行。
如我所见,您启用了boost模块。 这是在包含静态文件的根目录或预设文件夹中创建一个/ cache /文件夹。 这样,就不会通过SQL和PHP处理页面。 Drupal不应有这么高的负载。
由于这将被清除,因此我指出您应该在服务器设置上进行操作。 您肯定在那里有任何问题。 您如何测量这些高负载? 顶峰还是“ collectD”峰? 运行$ top命令,查看此负载是否是永久的,加载页面并查看其是否发亮。 $ top命令还显示了最多的资源使用者。
它是专用机还是虚拟机?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.