« IT技術者と肩こり | Main | ブレードサーバは仮想化の実現に向かっている »

September 11, 2006

デフラグの有効性について考える

デフラグが好きな方は多いと思います。真っ赤なグラフが次第に青に変わっていく姿は精神的に心地よいものがあります。しかし最近「デフラグって実はあまり効果がないのではないか?」という説をよく聞くようになりました。そこで今回はデフラグの有効性について考えてみることにしました。

さて、デフラグの有効性を考える上でポイントは3点ありそうです。

【ポイント1:デフラグでパフォーマンスは向上するのか?】
断片化したデータを連続的に再配置するのがデフラグの役目です。デフラグ実施後に最も効果を発揮するのはシーケンシャルな(連続した)データにアクセスする場合です。それに対してランダムアクセスの場合、特に小さいサイズのファイルを対象としたランダムアクセスの場合はデフラグ効果があまりありません。また年々OSやHDDのバッファサイズが増えていて、HDDへの物理的なアクセス速度がバッファで吸収されていく傾向にあります。

以上を総合すると、アクセスしようとするデータ中に明らかにシーケンシャルなデータが多い場合はデフラグによるパフォーマンス向上が見込めますが、そうでない場合はデフラグを行っても大してパフォーマンスが上がらないという結論になりそうです。

【ポイント2:デフラグはHDDの寿命を縮めるのか?】
この議題に対しては、「寿命を縮める派」と「むしろ寿命が延びる派」が存在するようです。まずは両者の言い分を聞いてみましょう。「寿命を縮める派」の主張としては、デフラグはそれ自体HDDアクセスなので、デフラグばかりやっていると当然HDDの寿命が縮まるという意見。それに大して「むしろ寿命が延びる派」の主張としては、常にHDDが断片化された状態だとヘッドがあちこちに動きまわる状態なので、デフラグを行ったほうがヘッドの無駄な動きが減りHDDの寿命が延びるという意見です。

それぞれの主張を見てみると双方それなりに筋が通っているので、場合によりけりという結論になりそうです。デフラグを行う頻度や断片化されている程度によると思います。

【ポイント3:デフラグの失敗でデータが失われることがあるのか?】
各々のデフラグツールのアルゴリズムや実装についてまで知る術がないので断言はできませんが、デフラグ中にマシンが異常終了したり停電が起こった場合、データが失われる可能性はたしかに否定できないです。よってデフラグの失敗でデータが失われることはたしかにありそうだという結論になりそうです。

【結論】
既に記したようにシーケンシャルなデータを連続的にREADするような特殊な状況においてはデフラグはものすごい有効だと思います。しかし一般論として個人的な結論を述べるとすると、デフラグには多くの時間がかかること、デフラグの失敗でデータが失われるリスクがあること、及び劇的にパフォーマンス向上が見込めないことを考えると、一般的な期待値よりもデフラグの有効性は低いのではないかと思いました。

※追記:デフラグネタを出すと、必ず「Linuxなどのようにデフラグが必要ないファイルシステムに比べたらWindowsのファイルシステムは不完全だ」という意見が出ますが、いいかげん聞き飽きましたので自分から書いちゃいます。なぜLinuxなどのファイルシステムではデフラグが必要にならないかご興味がある人はネット上のどこかに書いてありますから探してみてください。

|

« IT技術者と肩こり | Main | ブレードサーバは仮想化の実現に向かっている »

ストレージ」カテゴリの記事

Comments

私の場合、OSインストール、アプリケーションのインストールと一通り WindowsUpdate をかけた後で 一度デフラグかけることは多いです。

* OSやアプリの起動時間が速くなることが期待できる
* そもそもデータは持ってない
* というか"すっきりデフラグ"で chkdsk+デフラグを連続実行。空き領域を含めたディスク全体の調査もかねた作業を寝ている間にやっつけている

XP/2003以降は運用開始後のデフラグはさっぱりしなくなりましたね。

Posted by: 上美谷 | September 11, 2006 at 07:12 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/32004/11855654

Listed below are links to weblogs that reference デフラグの有効性について考える:

« IT技術者と肩こり | Main | ブレードサーバは仮想化の実現に向かっている »