ServersMan@VPS:Apacheパフォーマンスチューニング【効果大】

ServersMan@VPS のApacheパフォーマンスチューニングを実施しました。Apacheに限った話ではないでしょうが、チューニングは、適切に行うことで性能が大きく改善されることがあります。Apacheが遅くて弱っている方!是非ご一読いただければと思います。(2014/04/10作成)

パフォーマンス Unsplash / Pixabay

0.バージョン情報

[crayon]
$ /usr/sbin/httpd -v
Server version: Apache/2.2.3
Server built: Apr 3 2014 19:55:54
[/crayon]

1.不要コンフィグの排除

[crayon]
$ pwd
/etc/httpd/conf.d
$ sudo mv swtune.conf swtune.conf.20140410 ←※コレ
$ sudo mv proxy_ajp.conf proxy_ajp.conf.20140410
$ sudo mv welcome.conf welcome.conf.20140410
[/crayon]

【解説】
Apache本体「httpd.conf」で「MPM」を設定変更しても「※swtune.conf」が有効である限り設定が一向に反映されません。トラブルのもとなので読み込まないようにします。

2.prefork MPMの見直し

0)prefork MPM デフォルト設定
[crayon]
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
[/crayon]

1)prefork MPM チューニング(1回目)
[crayon]
StartServers 5
MinSpareServers 3
MaxSpareServers 5
ServerLimit 80
MaxClients 80
MaxRequestsPerChild 4000
[/crayon]

2)prefork MPM チューニング(2回目)
[crayon]
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 50
[/crayon]

3)prefork MPM チューニング(3回目)
[crayon]
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 1000
[/crayon]

【解説】
MPM (Multi Processing Module) を解説している色々なサイトを参考にさせていただきましたが、ズバリこれでという「黄金比」ようなものはないようです。私はなんとなく好きな数字が並んでいる上記にしました。

3.KeepAliveの見直し

[crayon]
MaxKeepAliveRequests 100

MaxKeepAliveRequests 1000

KeepAliveTimeout 5

KeepAliveTimeout 15
[/crayon]

【解説】
もともと KeepAliveは「On」でしたが、MaxKeepAliveRequests と KeepAliveTimeout を多く・長くすることで、Apacheが生まれ変わりました。事実、KeepAliveのチューニングが一番効果ありました。

4.設定反映

[crayon]
$ sudo /etc/init.d/httpd configtest
Syntax OK
$ sudo /etc/init.d/httpd graceful
[/crayon]

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください