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 を使用している場合は、パフォーマンスの問題の可能性を回避するために、workerevent などの別の MPM に切り替えることを検討してください。

注記

分かりやすくするため、次の手順では prefork MPM から worker MPM に切り替える方法について説明します。

手順

  1. 00-mpm.conf ファイルが格納されているディレクトリーに移動します。

    • JBCS Apache HTTP Server を使用している場合は、JBCS_HOME/httpd/conf.modules.d ディレクトリーに移動します。
    • RHEL Apache HTTP Server を使用している場合は、/etc/httpd/conf.modules.d ディレクトリーに移動します。
  2. 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
  3. 同じ 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