mongodb in Sakura VPSのスローダウン仮説
サクラvps3Gのmongoで原因不明のスローダウンが発生。
どうも、急激にディスクリードが遅くなったようだ。
プロセス再起動も効果なし、メモリーも十分。
謎だったのだが、一つ仮定は作れた。
・どうやら50Gもあるコレクションで起きてるっぽい
・そこには古くて暫く触ってないデータが大量にある
ココからは想像だが、、
サクラの仮想環境はもちろんサーバのイメージは専用の巨大ストレージにあって、ポータブルな構成になっている筈だ。
巨大なストレージは巨大なキャッシュ層があるのが普通で
メモリーキャッシュやフラッシュなど多層構造のキャッシュがある。
フレッシュじゃないデータ(ブロック)はキャッシュ層の下層に追いやられていき、最後はディスクに落ちる
仮想サーバから見たとき、同じディスクリード(mongoはmmapなのでpagefault)に見えても、裏では軽くキャッシュから取るだけだったり、ドデカイfaultとディスク処理になってるのかもしれない。
と仮定すると、データは適度に触れと云うことになるな。。
キャッシュを独占的に使うようなやり方は気が引けるんだけども、、、