現在のMPMを確認
# apachectl -V | grep 'Server MPM' Server MPM: Prefork
現在はpreforkを使用しています。
MPM切り替え
# vi /etc/sysconfig/httpd HTTPD=/usr/sbin/httpd.worker ←コメントアウトを外す # /etc/init.d/httpd restart WorkerになったらOK。 # apachectl -V | grep 'Server MPM' Server MPM: Worker あとはapache設定を変更する # vi /etc/httpd/conf/httpd.conf <IfModule worker.c> StartServers 4 MaxClients 300 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
phpを使う場合
PHPは5.5くらいからスレッドが使えるようになるため、オプションをつけて再コンパイルを行う。
# make distclean
# ./configure --with-tsrm-pthreads --enable-maintainer-zts ・・・
# make && make install
しかし、動作が不安定になってしまったので、preforkに戻した。
wordpressだとだめなのかな。
要調査
参考
http://blog.flatlabs.net/20110222_232623/