中年engineerの独り言 - crumbjp

LinuxとApacheの憂鬱

mongodb in Sakura VPSのスローダウン仮説

サクラvps3Gのmongoで原因不明のスローダウンが発生。

どうも、急激にディスクリードが遅くなったようだ。

プロセス再起動も効果なし、メモリーも十分。

謎だったのだが、一つ仮定は作れた。

・どうやら50Gもあるコレクションで起きてるっぽい
・そこには古くて暫く触ってないデータが大量にある

ココからは想像だが、、

サクラの仮想環境はもちろんサーバのイメージは専用の巨大ストレージにあって、ポータブルな構成になっている筈だ。

巨大なストレージは巨大なキャッシュ層があるのが普通で
モリーキャッシュやフラッシュなど多層構造のキャッシュがある。

フレッシュじゃないデータ(ブロック)はキャッシュ層の下層に追いやられていき、最後はディスクに落ちる

仮想サーバから見たとき、同じディスクリード(mongoはmmapなのでpagefault)に見えても、裏では軽くキャッシュから取るだけだったり、ドデカイfaultとディスク処理になってるのかもしれない。

と仮定すると、データは適度に触れと云うことになるな。。
キャッシュを独占的に使うようなやり方は気が引けるんだけども、、、