OSやハードウェアがApacheのパフォーマンスに影響を与える要素、注意点について調べました。
下記サイトを参考にしました。
Apache Performance Tuning
※目次をクリックすると目次の下部にコンテンツが表示されます。
OS
・OSは最新の安定バージョン、パッチレベル使用するようにします。
・多くのOSは、TCPスタックとスレッドライブラリを大幅に改良していて性能が向上しています。
・OSがsendfile(2)システムコールをサポートしていたらインストールし、必要なパッチを適用します。
Linuxでは、Linux2.4以降がサポートしています。
sendfileを使用する事によって、より少ないCPU使用量で静的コンテンツを高速に送りだす事が出来ます。
・多くのOSは、TCPスタックとスレッドライブラリを大幅に改良していて性能が向上しています。
・OSがsendfile(2)システムコールをサポートしていたらインストールし、必要なパッチを適用します。
Linuxでは、Linux2.4以降がサポートしています。
sendfileを使用する事によって、より少ないCPU使用量で静的コンテンツを高速に送りだす事が出来ます。
RAM
ハードウェア関連の要素で、最もWebサーバーの性能に影響を与えるのがRAMでしょう。次の点に注意します。
●スワップが起きないようにする
・スワップが発生するとユーザーのリクエストに対して遅延が増加するので避けなければなりません。
遅延が発生するとユーザーがブラウザの停止操作やリロード操作を行う事が多く、それによってさらなる負荷の増大を招くことになります。
スワップの発生を軽減する対策として、”MaxClients”の設定を適切に管理する事があります。
●MaxClientsを適切に管理するには?
①topコマンドなどを使ってプロセスリストを表示し、平均的なApacheプロセスのサイズを確認します。
②利用できるトータルのメモリ量から他のプロセス用にいくらかの領域を確保したうえで、上記平均サイズ分を割ってMaxClients数を見積もります。
●スワップが起きないようにする
・スワップが発生するとユーザーのリクエストに対して遅延が増加するので避けなければなりません。
遅延が発生するとユーザーがブラウザの停止操作やリロード操作を行う事が多く、それによってさらなる負荷の増大を招くことになります。
スワップの発生を軽減する対策として、”MaxClients”の設定を適切に管理する事があります。
●MaxClientsを適切に管理するには?
①topコマンドなどを使ってプロセスリストを表示し、平均的なApacheプロセスのサイズを確認します。
②利用できるトータルのメモリ量から他のプロセス用にいくらかの領域を確保したうえで、上記平均サイズ分を割ってMaxClients数を見積もります。
RAM以外のハードウェア
使用する環境にもよりますが、CPUの速度、ネットワークカード、ディスクなどのハードウェアもApacheのパフォーマンスに影響を与える場合があります。