OSのキャッシュに貯めてからサーバを起動するのがいいらしい

http://codezine.jp/article/detail/3315?p=2

運用面で大規模データを扱う際に気をつけなければいけないのは、OSを起動した直後、すぐにサーバーを立ち上げないということだ。キャッシュが全く構築されていないので、ディスクにアクセスしに行ってしまいハングアップしてしまう。

 次のデータは、OS起動直後に数GBのファイルをリードしたときのもの。最初はメモリがほとんど使われていない(4%)が、18時40分からの10分間でいきなり96%になっている。

 このように、ページキャッシュは透過的に作用するので、大きなファイルを一気にリードするだけでキャッシュが溜まってくれる。ノウハウとしては、OSが起動したら、データベースのファイルを全部catして「/dev/null」に投げておくと、メモリにキャッシュが構築される。

 性能評価を実地のマシンで行うときにも、キャッシュが最適化されるまで少し時間がかかる。最適化されてない状態でテストしても意味がない。負荷がだんだん落ち着いたところで測定するのがポイントだ。

 
comments powered by Disqus