Apache(2.0.52)用の非スレッドプリフォークmpmからハイブリッドマルチプロセスマルチスレッドワーカーmpmに切り替えることを考えています。
RHEL4を実行しているIntel(R)Xeon(TM)クアッドコアマシンで実行されます。
ワーカーのmpmのスケーリングが改善されたと聞きましたが、最近いくつかのスケーリングの問題が発生しています。
/ usr/sbin/httpd -lは、mpmでコンパイルされたものとしてpreforkについて言及しています。設定を変更せずにワーカーmpmに切り替えるための最良の方法は何ですか?ソースからのビルドは避けたい。ワーカーmpmでコンパイルされたApacheのrpmを見つけることができる場所はありますか?
私はApacheをa)ブログ(wordpress)b)フォーラム(phpbb)c)a Java Webアプリの静的コンテンツを提供する(mod_jkを使用して動的リクエストをTomcatに転送する)
移動する前に考慮する必要がある可能性のある問題は何ですか?また、ワーカーmpmに切り替えた後の一般的なパフォーマンスの向上は何ですか?
そのサーバーでPHPを実行しているので、WorkerMPMの使用には注意が必要です。WorkerとPHPにはいくつかの既知の問題があります。 PHPインストールFAQ それに対してお勧めします。
スレッド化されたmpmを使用する利点は、主にメモリ消費量が少ないことです。そのため、ボックスを選択せずにMaxClientsを高く設定できます。
これは、スレッド間で共有される子ごとに(つまり、子の起動時に)大量のメモリを割り当てるbloatyモジュールがある場合に特に当てはまります。
ただし、これは大きな変更であり、軽視すべきではありません。特に、PHPの互換性について心配する必要があります。本番環境で使用する前に、非本番環境で構成の変更を徹底的にテストしてください。
そしてもちろん、パフォーマンス関連の変更と同様に、パフォーマンステストを行って、実際に改善されているかどうかを確認する必要があります。これはおそらく重要なことです-少なくとも、そのような変更を行うことについて私が最も難しいと思うことです。