Apache/PHPのメモリチューニング(負荷とか)

Apache/PHPのメモリ上限を設定する

PHPのメモリ使用量の上限は、php.iniに書かれていますが、これphpの1プロセスに割り当てられるメモリ量になります。
/etc/php.ini
memory_limit = 128M
で、Apacheのhttpd.confのMaxClientsにプロセスの上限を設定しているので、
/etc/httpd/conf/httpd.conf
MaxClients 128
これらの値を掛け合わせたものがPHPが使用できるメモリの総量ということになります。
memory_limitの値 x httpd.confのMaxClientsの値 = メモリ最大使用量
CentOS6.5では128x128ということなので結構な量を喰うことになっています。ここらを現状に合わせて調節します。

プレフォークを調整してみる

最近のCentOSではデフォルトで4000になっていました。プレフォークの使い回しが4000回ということなので、これを1000ぐらいにしてみます。だれでだいぶ負荷がおさまる場合もあります。
/etc/httpd/conf/httpd.conf
MaxRequestsPerChild 4000

MaxRequestsPerChild 1000

KeepAliveをonにする

いつからデフォルトがoffになってんだろ。あれ?昔からここoffでしたっけ?
/etc/httpd/conf/httpd.conf
KeepAlive Off

KeepAlive On

Apacheを再起動して様子を見る。