1

Apache Web サーバーの CPU ロードに問題があります。

仮想マシンでUbuntu Server 12.04 LTSを実行しています。サーバーの仕様は次のとおりです。

  • 8GB RAM;
  • 4 個の vCPU ( 12ghz );

Drupal (7.23) ベースの Web サイトを実行するようにサーバーを構成しました。そこで、Apache、PHP、MySQL をインストールしました... バージョンは以下のとおりです。

  • アパッチ 2.2.22;
  • PHP 5.3.10 ( PHP は Apache モジュールとして実行されています。 );
  • APC 3.1.7;
  • MySQL 5.5.31 (すべての innodb テーブル);

私もいくつかのApacheモジュールを実行しています。ご覧ください ( apachectl -M):

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

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 モジュール:

  • ACL 7.x-1.0
  • APC - 代替 PHP キャッシュ 7.x-1.0-beta4
  • ブースト 7.x-1.0-beta2
  • キャッシュの有効期限 7.x-2.0-beta2
  • キャプチャ 7.x-1.0
  • カオス ツール スイート (ctools) 7.x-1.3
  • 日付 7.x-2.6
  • ドメイン アクセス 7.x-3.10
  • ドメイン ブロック 7.x-2.0
  • ドメイン CTools 7.x-1.3
  • ドメイン ロケール 7.x-1.0-beta3
  • ドメイン分類 7.x-3.x-dev (2012-abr-29)
  • ドメイン ビュー 7.x-1.5
  • 埋め込みビュー表示 7.x-1.2
  • エンティティ API 7.x-1.2
  • エンティティ参照 7.x-1.0
  • IMCE 7.x-1.7
  • IMCE Mkdir 7.x-1.0
  • 国際化 7.x-1.10
  • リンク 7.x-1.1
  • ローカリゼーション更新 7.x-1.0-beta3
  • メディア 7.x-1.3
  • メタ タグ クイック 7.x-2.7
  • ニュースレター 7.x-1.0-beta9
  • オプション要素 7.x-1.9
  • ページ スタイル 7.x-1.0
  • パネル 7.x-3.3
  • パスオート 7.x-1.2
  • 病的な 7.x-2.11
  • profile2 7.x-1.3+0-dev (2013-mai-24)
  • select_or_other 7.x-2.19
  • シートノード 7.x-1.0-beta4+3-dev (2013-mai-25)
  • SMTP 認証サポート 7.x-1.0
  • トークン 7.x-1.5
  • 文字変換 ​​7.x-3.1
  • 変数 7.x-2.3
  • ビュー 7.x-3.7
  • 役割ごとの語彙許可 7.x-1.0
  • ウェブフォーム 7.x-3.19
  • ウェブフォーム検証 7.x-1.2
  • ワークベンチ 7.x-1.2
  • workbench_access 7.x-1.2
  • ワークベンチ_メディア 7.x-1.1
  • workbench_profile 7.x-1.1
  • xmlsitemap 7.x-2.0-rc2

私のサイトはシンプルで、多くの訪問者がいません。1日500人ぐらい来てるかな。Drupal は CPU の負荷を非常に高くする可能性がありますか? それともモジュール?

私の問題は、CPU (すべてのコア) の負荷が高いことです。ほとんどの場合、負荷は 90% から 100% の間です。問題のあるプロセスは apache2です。メモリも容赦なく消費されます。合計 8GB のうち、消費されるメモリは約6.5GB ~ 7.5GBです。Apache の構成が間違っているのか、それともハードウェアを追加する必要があるのか​​はわかりません (必要ないと思います)。Drupal は高い CPU 負荷を引き起こす可能性がありますか?

CPU 負荷が 100% に達すると、サイトがダウンし、apache を再起動する必要があります。APCを使用してBoostをインストールするDrupalで回避策を実行しました。ある程度の効果はありましたが、CPU 負荷は依然として高くなっています。とても高い。

Drupal モジュールや PHP 拡張機能などの詳細情報が必要な場合。私にお知らせください。

4

1 に答える 1