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 では、
event
MPM がデフォルトで選択されています。以下に例を示します。# 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.so
event
MPM はマルチスレッドであり、最適化されたパフォーマンスを提供するように設計されています。RHEL バージョン 8 または 9 を使用している場合、prefork
などの別の MPM に切り替えると、パフォーマンスの問題が発生する可能性があります。RHEL 7 では、
prefork
MPM がデフォルトで選択されています。以下に例を示します。# 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
RHEL 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
を編集して、prefork
MPM の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
ディレクティブからコメント (#
) 文字を削除します。これらの行は、prefork
MPM のすぐ下にあります。たとえば、
worker
MPM をロードするには、worker
MPM の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