![Apache プロセスが CPU を 100% 使用しています](https://rvso.com/image/668024/Apache%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%8C%20CPU%20%E3%82%92%20100%25%20%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99.png)
私はラグビーのウェブサイトをホストしている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 を使用すると非常に便利です。