はてなブックマークを見ていたら
Linuxチューニング 第1部第1回 ファイル・アクセスを高速化:ITpro
という記事が目に付いた。
システムのボトルネックは今も昔もハードディスクであることが多い。CDやDVDのような光学ドライブやネットワークもボトルネックにはなりうるが、システム自体のスピードはハードディスクの性能に引っ張られてしまう。今ではハードディスクもかなり高速化したが、それと同じくCPUをはじめとして何から何までが高速化している。相対的にはやっぱりハードディスクが遅いのだ。
ということで、ハードディクスが速くなるのであればそれに越したことはない。上記記事によると、アクセス時刻の記録を省略するだけで速くなるようだ。簡単なのでまずは会社のPCで試してみたが、あまり効果は感じない。実際HDBench cloneで計測しても、ディスクアクセスにほとんど変化はなかった。SATAはそれなりに速いからなのかもしれない。ちょっと残念。
ついでだから自宅サーバにも変更を施すと、こちらはちょっと驚くくらい速くなった。体感的にサイトが表示される時間がものすごく短縮したのである。回線の状態がよかっただけとも考えられるのだが、数時間経ってもやっぱり速い。
と書きつつ、
ITProのLinuxチューニングの記事がひどい事になっている件について-革命の日々!というエントリに遭遇。このエントリ、やっぱり気のせいだったのかな、実際に測ってみないとだめだなぁと思わせるに十分な内容である。
プラシーボだったのかも、と思っていると、今度は
unix - atimeはいつ更新される? - 404 Blog Not Foundという記事にも遭遇。dankogai氏によれば速くなっているとのこと。体感で速くなっているように感じるから、俺はこっちを信じるぞ・・・といいつつ、体感なんてぜんぜん理論的じゃないので一応HDBench cloneで調べてみることにした。
これがatimeを有効にしている場合。
拡大
こっちがatimeを無効にした場合。
拡大
ほんのちょっとであるけれど速くなったようにも見える。しかし、この結果は結構ばらつきがあって、逆の結果になるときもあった。このときにたまたま速い結果が出ただけのようだ。特にファイルサイズが小さいとぜんぜん差は見られなかった。単一ファイルでは効果はあまりないのだろう。だけど体感的には本当に速いんだってば。
実際は良く調べてみないと断言は出来ないが、WEBはファイル書き込みより読み込みの回数、それもdankogai氏が指摘しているように小さなサイズのファイルの読み出しが方が圧倒的に多いはずだ。このサーバのブログツールはNucleusなので、DBにアクセスする回数は比較的多いかもしれんから、もしかしたらatimeを無効にした効果が顕著に出たのかもしれんね。
特にこのサーバはCPUがK6-2 500MHzという数世代前のものなので、マザーボードやメモリなどの周辺機器はそんなに速くはない。しかしハードディスクだけは比較的新しいものを搭載してので、ハードディスクはそこそこ速いのである。メモリを十分に積んだ遅いマシンに速いハードディスクを入れるとまるで別物のように速くなることが多いが、今回の変更はハードディスクアクセスを高速化させることでそれと同じような効果をもたらしたのかもしれないね。