さくらのクラウドでサーバの最適な構成を探ってみた結果こうなった

サーバ代をできるだけ節約しつつも、快適に記事更新できるようなレベルを維持するにはどれぐらいのレベルのマシンリソースが必要か?ということで「さくらのクラウド」にins-magazine.netを移動させて実験してみた記録をメモしておく。

まず以下が構成変更の履歴。

2014/05/09:「4Core-4GB」に変更して開始

2014/05/23:「3Core-4GB」に変更
CPUリソースが余りまくっているため。muninで見たところ、メモリは4GBのうち3.29GB、CPUは4コアで400のうち95.42しか使っていない。
月末まで様子を見てこれで特に問題がないようなら、3コアをさらに2コアに落としていくことに。

2014/05/30:「1Core-4GB」に変更
今週の様子を見ると75までしか使っていなかったのでコレでも大丈夫なはず。

で、ここから1ヶ月以上経過して最新のデータがコレ。

ロードアベレージ、要するにサーバの負荷はかなり安定しており、平均で0.22前後。ただしMaxを見ると「by year」で「61.03」というのがあり、記事更新時はかなり重たくなっているのかも。あと、「by week」で見るとMaxが「31.53」で、何かのタイミングで異様なほど負荷が上がっている模様。ただ、それが何なのかは不明。特に部員から「負荷が異様なほど上がってるよ!」という連絡もないので、対策のしようがない。
munin_01

CPUの使用率を見ると非常に低く、2割も使っていないことがわかる。なので、負荷が異様に上がっている時はおそらくCPU以外の理由、おそらくディスクの読み書きか何かではないかと思われる。
munin_02

メモリの使い方を見るとスワップが発生した時期があり、どうもスワップファイルの書き戻しか何かで負荷が一時的に急上昇したようだ、というのが推測できる。メモリは3GBだと足りないが、4GBあれば十分足りている、というような感じ。このあたりはApacheの1プロセスあたりの使用量が減るようにチューニングしているのでその成果が出ているっぽい。
munin_03

一番チューニングの成果が出ているのがMySQLで、「by year」を見ての通り、大量に発生していた「select」を極限までキャッシュで抑えることに成功している。この効果は絶大で、CPUやらIOやらがかなり低くなっているのはMySQLの負荷が低くなったため。現在のパラメータにしてから1ヶ月以上が経過しているので、さらにチューニングをすることでもうちょい負荷を下げて反応速度を上げられるかもしれない。
munin_04

で、肝心の代金は6月1日(日)~6月30日(月)の30日間で税込み4191円。さくらのVPSで性能重視のSSDプランにした場合、「SSD 4G」を1年間使う年払いなら初期費用の3785円を12ヶ月で割って約315円を3470円に足して、1ヶ月あたり3785円。VPSの方がディスク容量は100GBまで増えるが、現状のins-magazine.netではそんな大容量のファイルがない。むしろイベント時などにCPUやメモリをすぐ増強できる分だけ、さくらのクラウドの方が安心なので、とりあえず現状のままで使うのが良いだろう、というのが結論。

まぁVPSに変更すれば仮想1コアから3コアになるので、負荷はさらに下がるが、過去の経験上、「全員が一度にログインして操作する」とかになればおそらく仮想3コアでも足りず、メモリ4GBでもアヤシイ。なので、文化祭の日にリアルタイムでぼんぼん更新していく、みたいな場合は一時的にCPUを4コアまで増やしたりして、一時的にしのいでみるのがよさげ。というか、CPUのアップグレードでどこまで回避できるものなのかがイマイチ不明なので、このあたりはどこかの時点で実験すべき。