Apache プロセスが CPU を 100% 使用しています

Apache プロセスが CPU を 100% 使用しています

私はラグビーのウェブサイトをホストしている4GBの仮想サーバーを持っています。ラグビーワールドカップのシーズンなので、私のサイトは十分な量のトラフィックを受けていますが、メモリ使用量が1.8GBを超えたことがないので、サーバーの制限を超えるほどではありません。そして、私が言ったように、私は4GBのVPSを持っています。

これは私のApacheの設定です: maxKeepAliveRequests 10 keepAliveTimeout 5 ServerLimit 550 <IfModule mpm_prefork_module> StartServers 20 MinSpareServers 20 MaxSpareServers 80 MaxClients 500 MaxRequestsPerChild 2000 </IfModule>

htopのスナップショットはここで見ることができます

ここに画像の説明を入力してください

画像/CSS/HTML、JS などの静的コンテンツが大量に使用されていますが、varnish や nginx などのキャッシュ システムをリバース プロキシとして検討すると、この問題の解決策になりますか?

答え1

まず、すべての静的コンテンツを nginx を使用して提供し、その背後で apache を使用する必要があります。次の手順は、Web サーバーによって提供される Web アプリケーションによって異なります。一部のキャッシュ システムでは、varnish などのキャッシュが役立ちます。一部のネイティブ nginx キャッシュでは、proxy_cache を使用すると非常に便利です。

関連情報