このブログと併設している「ぼくんちのTV別館」は、さくらのVPS3台体制で運営しています。
2016年5月に アクセス数が1日80万PVに達し、サーバーのパフォーマンスが著しく悪くなり、ほぼフリーズしたような状態になってしまいました。

まえおき

VPS 3台の内訳

VPS A ・・・・・ 本体。MTOS5 + PHP化した静的HTML
VPS B ・・・・・ 画像サーバー (javascriptやcssも含む)
VPS C ・・・・・ アクセス解析 + 逆アクセス解析ツール + 1MB超えたファイルなど

サーバーの仕様は3台とも同じ。
 ・メモリ1GB HDD20GB の初期980円(後から増強)コース
 ・OS: Cent OS 5.11 (64bit)
 ・httpサーバー: Apache2系
※画像サーバだけでも Nginx にしよう・・・・と思いつつも全く手が付いていない状態。

 

以下、行った対処とチューニング。
※メモの序盤は時系列の記録です。
※後半で今回行った各種チューニングの内容をメモしています。

1.はじまり

2.まずブラウザからサイト表示して確認

画像サーバーの状態の把握からはじめる事にした。

3.sshでログインできない

4.sshログイン後

 

5.ひとまず上記の対策で1晩放置して様子見。

6. さくらの管理画面からコンソール接続

7. iptables のパケット上限を増やす

8. iptables 未検証項目

9. httpd Client

10. KeepAlive

11.TCPセッションの数を増やす


12. 今後の予測をしてみる

13. サーバー増強を視野に入れる

14. まとめ

  1. 画像専用サーバーでもKeepAliveはOFFにする
  2. httpd Clientの数は必要最小限に減らす。
    httpdが使うメモリの量もギリギリまで減らす。
  3. メモリに余裕が出来た分をiptablesのパケット処理やTCPセッションの数の増加に回す。
    • サーバー素人の浅はかな考えだけど、
      メモリ使用量は
      httpd Client : iptabls+TCP : MySQL = 4:4:2
      くらいにしとけば良いんじゃないだろうか?

今回の場合、この3つが正解だった。
VPSを初めて触った2011年当時、あれこれをチューニングを施したつもりになっていたが、まだまだだった。

15. その他に行った事

16. チューニング後の結果

次にやること

abテストする。
過去abテストした時は、リアルで大量にアクセスを捌いた経験が無かったので、ベンチマークの数値にイマイチ実感がなかった。今回の経験を踏まえ、もう一回abテストしてみる。

その他: mod_evasive20.c