オリジナル問題 LinuCレベル2試験 問題 問12
Webサーバーとプロキシサーバー/Apache HTTPサーバーの設定と管理ApacheのMPM(Multi-Processing Module)に関する説明として適切なものはどれか。
出典:オリジナル問題 LinuCレベル2試験 問題 問12
- AMPMはPHP等のスクリプトを実行するためのモジュールの総称である
- Bpreforkはプロセス、workerはスレッドを使ってリクエストを多重に処理する方式である
- CどのMPMを使っても内部の動作は同じで、名前が違うだけである
- Deventはリクエストごとにプロセスを生成するため、preforkより資源の消費が大きい
正解:B
解説
MPMは、Apacheが同時に届くリクエストをどう捌くかを決める仕組みです。preforkは1リクエストを1プロセスで処理する方式で、スレッドセーフでないモジュールとも組み合わせやすい反面、メモリの消費は大きくなります。workerはプロセスとスレッドを併用して多重化し、eventはworkerを発展させてKeep-Alive中の接続を専用スレッドに任せることで、より多くの接続を扱えるようにした方式です。
選択肢ごとの解説
- A誤り。スクリプトの実行はmod_php等の別のモジュールが担当します。
- B正しい。preforkはプロセス単位、workerはスレッドを併用して多重化します。
- C誤り。方式ごとに資源の使い方も同時接続の扱いも異なります。
- D誤り。eventはむしろ接続の扱いを効率化した方式で、preforkより消費は抑えられます。