apache MPM

Apache HTTP Server: MPMパラメータ チートシート - インフラエンジニアway - Powered by HEARTBEATS 2015

MPM worker PHP

ソースインストール
apache configure で --with-mpm=worker
php configure で --with-tsrm-pthreads
worker で再コンパイルした apache インストール後に phpコンパイル


はてなブログ
http://blog.goo.ne.jp/nagare_mm/e/79e8491247ebc794eed04899226e43c4

--enable-maintainer-zts オプションは、サーバー側がマルチスレッド動作かどうか関係なく強制的に Zend Thread Safety (ZTS) を有効にするオプションである。
これが必要な場面と言うのは、PHP本体の開発者やPHPのモジュールの開発者がZTS有効での動作確認や、サーバー側がマルチスレッド動作なのに何らかの理由でそれを検出せずZTSが有効にならないときに使うものである。
たまに「worker MPM の場合は--enable-maintainer-ztsが必要」って書いてあるものがWebで見つかるが、これは(昔は知らないが現在では)間違いなので、気をつけよう。

worker 設定

デフォルト

StartServers          3
MaxClients          400
MinSpareThreads      75 
MaxSpareThreads     250 
ThreadsPerChild      25
MaxRequestsPerChild 10000

mpm_common - Apache HTTP Server Version 2.2

MaxClientsが400、プロセスあたりのスレッド数(ThreadsPerChild)が25なので16プロセス

httpd-mpm.conf を設定した場合


    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0

MaxClientsが150、プロセスあたりのスレッド数(ThreadsPerChild)が25なので6プロセス

今こそ見直すApacheの設定 - blog.nomadscafe.jp

ftp-adminの憂鬱: worker MPMの設定(後編)

はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知