- mod_phpは非スレッドセーフ
- prefork MPM
リクエストごとにプロセスを生成し、処理が終わればそのプロセスが死ぬ。 - worker MPM
リクエストごとにスレッドを生成する。
スレッドセーフでないApacheモジュールがあるとバグる
Apache2.4からはdefaultのmpmがeventのため、コンパイル時には気をつける必要がある。
./configure \ --prefix=/usr/local/apache2.4.12 \ --enable-so \ --enable-ssl \ --enable-mods-shared=all \ --with-expat=builtin \ --with-included-apr \ --enable-proxy \ --enable-proxy-http \ --enable-proxy-ajp \ --with-mpm=prefork \ --enable-rewrite
httpd.confの中身
StartServers:最初に起動する子プロセスの数StartServers 5 MinSpareServers 10 MaxSpareServers 30 MaxRequestWorkers 1000 ServerLimit 1000 MaxConnectionsPerChild 30000
MinSpareServers: 待機する子プロセスの最小数
MaxSpareServers: 待機する子プロセスの最大数
MaxRequestWorkers: スタート時に許される子プロセスの最大数
ServerLimit: MaxRequestWorkersに上限値をつける
MaxRequestsPerChild: それぞれの子プロセスが扱うリクエスト数の制限数
Apache2.4からMaxClientsという名前がMaxRequestWorkersに変更になりました。
httpdのMPMを確認
httpd -V
0 件のコメント:
コメントを投稿