WEBシステム開発/Apacheを高速化、最適化、チューニングする方法(worker編)
●Apache MPM worker
マルチスレッドとマルチプロセスのハイブリッド型ウェブサーバを実装したマルチプロセッシングモジュール
MPM
mpm_worker_module
worker.c
●Apache MPM prefork
スレッドを使わず、先行して fork を行なうウェブサーバを実装
MPM
mpm_prefork_module
prefork.c
通常、Apacheの動作にはpreforkを使用されている方がほとんどだと思われます。
デフォルトのまま使用している場合は、preforkなのでそのまま何も考えずに運用されている。
PHPなどのプログラムを動作させる場合、preforkが安定して動作するから。
いろいろな理由でpreforkを利用されている場合がありますね。
ただ、アクセス数が想定した数より多くなってくると
リクエストの遅延など、コネクション接続関係でいろいろと問題が多発してしまいます。
MaxClientsの値を調整したりと、設定値をチューニングして
対応してみたりと…
ある程度は、設定値のチューニングだけで、1日1000万アクセスぐらいは1台のサーバーで
処理できるかと思いますが
どうせならworkerを思い切って導入されて見るのも手かと思います。
やはり気になる点として、PHPなどのプログラムでの動作が安定しない?!
実際に弊社ではworkerを導入して動作が不安定になったという事は
一度もなく、逆に動作が安定したように感じるくらいです。
サーバーのスペック、サイトのサービス内容と比較しながら
導入を検討されることをお勧めします。