F.2. MPM の切り替え
サーバーは、Apache HTTP Server ホスト上の 00-mpm.conf ファイル内の LoadModule ディレクティブに基づき MPM を選択します。00-mpm.conf ファイルにある対象の MPM の LoadModule ディレクティブからコメント文字 (#) を削除することにより、特定の MPM を選択できます。
使用している Apache HTTP Server ディストリビューションにより、00-mpm.conf ファイルの場所は異なります。
-
JBCS Apache HTTP Server を使用している場合、
00-mpm.confファイルはJBCS_HOME/httpd/conf.modules.dディレクトリーにあります。 -
RHEL Apache HTTP Server を使用している場合、
00-mpm.confファイルは/etc/httpd/conf.modules.dディレクトリーにあります。
使用しているオペレーティングシステムのバージョンに応じて、次のガイドラインに留意してください。
RHEL バージョン 8 および 9 では、
eventMPM がデフォルトで選択されています。以下に例を示します。# event MPM: A variant of the worker MPM with the goal of consuming # threads only for connections with active processing # See: http://httpd.apache.org/docs/2.4/mod/event.html # LoadModule mpm_event_module modules/mod_mpm_event.soeventMPM はマルチスレッドであり、最適化されたパフォーマンスを提供するように設計されています。RHEL バージョン 8 または 9 を使用している場合、preforkなどの別の MPM に切り替えると、パフォーマンスの問題が発生する可能性があります。RHEL 7 では、
preforkMPM がデフォルトで選択されています。以下に例を示します。# prefork MPM: Implements a non-threaded, pre-forking web server # See: http://httpd.apache.org/docs/2.4/mod/prefork.html LoadModule mpm_prefork_module modules/mod_mpm_prefork.soRHEL 7 を使用している場合は、パフォーマンスの問題の可能性を回避するために、
workerやeventなどの別の MPM に切り替えることを検討してください。
分かりやすくするため、次の手順では prefork MPM から worker MPM に切り替える方法について説明します。
手順
00-mpm.confファイルが格納されているディレクトリーに移動します。-
JBCS Apache HTTP Server を使用している場合は、
JBCS_HOME/httpd/conf.modules.dディレクトリーに移動します。 -
RHEL Apache HTTP Server を使用している場合は、
/etc/httpd/conf.modules.dディレクトリーに移動します。
-
JBCS Apache HTTP Server を使用している場合は、
00-mpm.confを編集して、preforkMPM のLoadModuleディレクティブにコメント (#) 文字を追加します。以下に例を示します。
# prefork MPM: Implements a non-threaded, pre-forking web server # See: http://httpd.apache.org/docs/2.4/mod/prefork.html #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so同じ
00-mpm.confファイルで、切り替え先の MPM のLoadModuleディレクティブからコメント (#) 文字を削除します。これらの行は、preforkMPM のすぐ下にあります。たとえば、
workerMPM をロードするには、workerMPM のLoadModuleディレクティブからコメント (#) 文字を削除します。# worker MPM: Multi-Processing Module implementing a hybrid # multi-threaded multi-process web server # See: http://httpd.apache.org/docs/2.4/mod/worker.html LoadModule mpm_worker_module modules/mod_mpm_worker.so
検証
MPM が正しく設定されていることを確認するには、次のコマンドを入力します。
$ sbin/apachectl -V上記のコマンドは、現在の MPM を表示します。
以下に例を示します。
Server MPM: worker