我在使用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 Modules:
我的网站很简单,没有很多访问者。我说的是每天500名访客。 Drupal会导致如此多的CPU负载?还是模块?
我的问题是CPU(所有核心)都有很高的负载。大多数时候,达到90%到100%的负载!违规流程是apache2 。记忆也消耗得没有怜悯。总共8GB,消耗的内存约为 6.5GB至7.5GB 。我不知道我的apache配置是否错误,或者我是否真的需要更多硬件(我猜不是)。 Drupal会导致高CPU负载吗?
当CPU负载达到100%时,站点出现故障,我们必须重新启动apache。我使用Drupal使用APC和安装Boost做了一个解决方案。有一些效果,但CPU负载仍然很高。非常高。
如果您需要更多信息,例如Drupal模块和PHP扩展。请告诉我。
答案 0 :(得分:1)
我不是服务器专家所以我不能指出确切的原因。 Drupal每次通话消耗大约10MB内存。安装Devel模块,并且有一个复选框,在调用页面时,会在页面的每一端放置页面加载和内存使用行。
如我所见,您启用了增强模块。这个是在根目录中创建一个/ cache /文件夹,或者是保存静态文件的预设文件夹。这样,页面不会通过SQL和PHP处理。 Drupal不应该有这么高的负载。
由于这将被清除,我会指出你应该在服务器设置上工作。你肯定有任何问题。你是如何衡量这些高负荷的? Top或&#34; collectD&#34;像峰值?运行$ top命令,看看这个加载是否是永久性的,加载一个页面,看看它是否会被击出。 $ top命令也显示了最多的资源消费者。
是专用机器还是虚拟机?