Apache HTTP verbrauchen zu viel CPU

Ich habe einige Probleme mit der CPU-Belastung mit Apache-Web-Server.

Läuft eine Ubuntu Server 12.04 LTS auf einer Virtuellen Maschine. Unsere server haben die folgenden Spezifikationen:

  • 8GB RAM;
  • 4 vCPUs (12ghz);

Konfigurierten wir server, die zum ausführen eines Drupal (7.23) basierte website. So, wir installierten Apache -, PHP -, MySQL - ... Die Versionen sind unter:

  • Apache 2.2.22;
  • PHP 5.3.10 (Dem PHP läuft als Apache-Modul.);
  • APC 3.1.7;
  • MySQL 5.5.31 (alle innodb-Tabellen);

Ich bin mit einigen apache-Module zu. Werfen Sie einen Blick (apachectl -M):

  • core_module (statisch)
  • log_config_module (statisch)
  • logio_module (statisch)
  • mpm_prefork_module (statisch)
  • http_module (statisch)
  • so_module (statisch)
  • actions_module (shared)
  • alias_module (shared)
  • authz_host_module (shared)
  • deflate_module (shared)
  • dir_module (shared)
  • env_module (shared)
  • include_module (shared)
  • mime_module (shared)
  • php5_module (shared)
  • proxy_module (shared)
  • proxy_http_module (shared)
  • reqtimeout_module (shared)
  • rewrite_module (shared)
  • setenvif_module (shared)
  • ssl_module (shared)
  • status_module (shared)

Auf apache2.conf, wir haben in dieser config:

    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>

Den Virtuellen Host meiner Website:

    <VirtualHost *:80>
        ServerName blabla.bla.bla
        ServerAdmin [email protected]
        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-Module:

  • ACL 7.x-1.0
  • APC - Alternative PHP Cache 7.x-1.0-beta4
  • - Boost-7.x-1.0-beta2
  • Cache-Ablaufdatum-7.x-2.0-beta2
  • CAPTCHA-7.x-1.0
  • Chaos tool suite (ctools) 7.x-1.3
  • Datum 7.x-2.6
  • Domain Access 7.x-3.10
  • Domain Blöcke 7.x-2.0
  • Domain CTools 7.x-1.3
  • Domain-Locale-7.x-1.0-beta3
  • Domain-Taxonomie 7.x-3.x-dev (2012-abr-29)
  • Domain-Ansichten 7.x-1.5
  • Einbetten Von Ansichten 7.x-1.2
  • Entity API 7.x-1.2
  • Entity-Referenz 7.x-1.0
  • IMCE-7.x-1.7
  • IMCE Mkdir 7.x-1.0
  • Internationalisierung 7.x-1.10
  • Link 7.x-1.1
  • Lokalisierungs-update-7.x-1.0-beta3
  • Media-7.x-1.3
  • Meta tags quick 7.x-2.7
  • Newsletter 7.x-1.0-beta9
  • Optionen Element 7.x-1.9
  • Seite Stil 7.x-1.0
  • Panels 7.x-3.3
  • Pathauto 7.x-1.2
  • pathologischen 7.x-2.11
  • profile2 7.x-1.3+0-dev (2013-mai-24)
  • select_or_other 7.x-2.19
  • sheetnode 7.x-1.0-beta4+3-dev (2013-mai-25)
  • SMTP-Authentifizierung Unterstützung 7.x-1.0
  • Token-7.x-1.5
  • Transliteration 7.x-3.1
  • Variable 7.x-2.3
  • Ansichten 7.x-3.7
  • Wortschatz Berechtigungen Pro Rolle 7.x-1.0
  • Webform-7.x-3.19
  • Webform Validation 7.x-1.2
  • workbench 7.x-1.2
  • workbench_access 7.x-1.2
  • workbench_media 7.x-1.1
  • workbench_profile 7.x-1.1
  • xmlsitemap 7.x-2.0-rc2

Meine Seite ist einfach und nicht viele Besucher. Ich spreche über 500 Besucher am Tag vielleicht. Drupal kann dazu führen, dass so viel CPU-Belastung? Oder ein Modul?

Mein problem ist, dass die CPU (alle Kerne) haben eine hohe Belastung. Die meisten der Zeit, zu schlagen zwischen 90% und 100% Last! Die problematischen Prozess ist die apache2. Speicher wird auch verbraucht, ohne Mitleid. Von insgesamt 8 GB, die verbrauchten Speicher ist über 6,5 GB auf 7,5 GB. Ich weiß nicht, ob meine apache-Konfiguration falsch ist oder wenn ich wirklich brauchen mehr hardware (ich denke nicht). Drupal kann zu hohen CPU-Last?

Wenn die Auslastung der CPU hat 100%, die Seite geht down und wir haben zu starten Sie apache neu. Ich habe eine workaround-Lösung mit Drupal Verwendung von APC und die Installation von Boost. hatte einige Wirksamkeit, aber die CPU-Last immer noch hoch. Sehr hoch.

Wenn du mehr Informationen benötigst, wie Drupal-Module und PHP-Erweiterungen. Bitte lassen Sie mich wissen.

Ich geöffnet habe, diese Frage auf ServerFault. Wenn ich eine Lösung finde, werde ich hier zu. Link: serverfault.com/questions/541604/...

InformationsquelleAutor Ricardo Giaviti | 2013-09-18

Schreibe einen Kommentar