apacheの設定でも見直してみる

会社で使用している専用サーバなのだが、

ヤフトピなどでアタックをされると、フリーズしてしまい、かなりのPVを取りこぼしている・・・。

以前はサーバを監視している余裕も無かったが、

ここ最近は余裕も出てきたので、apacheの設定でも詰めてみることにした。

 

ハッキリ言うと、設定の具合が良く分からなくて

サーバが落ちたらアレなんで落ちないように値を随分下げて設定していた。

設定するには、

/usr/sbin/httpd -l

で修正する部分が分かる。

下記の場合、prefork.cの部分イジればパフォーマンスが良いか悪い方向に動く。

Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
vi /etc/httpd/conf/httpd.conf

等で

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      200
MaxClients       200
MaxRequestsPerChild  400
</IfModule>

の部分を

<IfModule prefork.c>
StartServers      10
MinSpareServers    5
MaxSpareServers   20
ServerLimit      500
MaxClients       500
MaxRequestsPerChild  10000
</IfModule>

のように設定を修正して様子見。

他にphp,iniのmemory_limitを756Mから1024Mに変更。
後はAPCの設定等も
/etc/php.d/apc.iniで
apc.shm_sizeを128Mから256Mに変更。
 
MaxSpareServersはこれ以上上げると、
load averageが常時2以上に上がる。
ServerLimit とMaxClientsは後50~100くらいは上げられるかもしれない。