人気ブログランキング | 話題のタグを見る

NTFSのアロケーションユニットサイズ(クラスタサイズ)を模索した。

 OSをクリーンインストールしなおした。その2。

 アロケーションユニットってのはNTFSのクラスタみたいなもんだが、こいつが結構厄介。以前、大きくするとパフォーマンスが向上するという話を聞いて試してみたことがあるのだが、確かに効果はあった。特に1つのフォルダに大量のファイルが存在する場合、ファイルの列挙速度が段違い。ただしこれは、断片化してないから早いという可能性も(断片化0%の状態で比較しても速度が段違いなので、おそらくアロケーションユニットサイズの効能)。そして、他の性能に関しては微増程度。そう考えると、容量が少なくなるデメリットとトレードオフできてない気がするわけだ。

 でまあ、いろいろ調べた上での私の結論はっつーと。

  • 基本的に(ほとんどの環境における)デフォルト値の4KBで問題ない。
    • 4KB以下ではNTFS圧縮を利用でき、節約できる(環境にもよるが、1TBのHDDで5GB程度儲かる)
      • CPUが高速なら、NTFS圧縮の計算コストをほぼ無視できる。
      • CPUが特に高速なら、NTFS圧縮ONの方がパフォーマンスが向上する(機械的なロスの方が大きい)説? --> それなりの環境でもやっぱりONのがやや遅い。現実は甘くはなかった。
    • 断片化はそれなり。それによるパフォーマンス低下の可能性を考慮すべき。
  • 少しでも断片化を回避したい/パフォーマンスを上げたいなら16KBを検討してもよい。
    • 16KBより上はクラスタギャップが酷すぎるため、最も現実的な数値。
    • それでも多少のクラスタギャップは出る+NTFS圧縮が使えないことによる容量の無駄使い。
  • "比較的"少数の、巨大なファイルのみを扱う場合、64KBも考えられなくはない……?
    • 断片化は最もしにくい。
    • 前述のようにクラスタギャップは酷い(環境にもよるが、1TBのHDDで数十GB以上)
    • ベンチマークでは16KBの方が優れていたという情報も。

  • この中では、容量に関しては4KB+NTFS圧縮が一番お得。
  • 容量を犠牲にしても得るものが少ない(大量のファイルを扱う時に速い、くらい)。
  • やっぱりデフォルト(4KB)で十分。

 うーん結論が面白くない。デフォルトとか面白くないなー!(ぬへ。
 まあ私は、時間のかかるデフラグが嫌いなので(好きなやつはいないと思うが)、試しに16KBにしてみた。UPC速度にも自信がないしな!(今やPentium4なんてレガシーだからなぁ……)
 16KBだとデフラグがかなり高速化されて、デフラグするのが楽しく感じる(ぬへ。

 うーむやっぱり16KBじゃなくて4KB+NTFS圧縮でいい気がしてきた(ぐへー。
 ちなみにうちの環境(P4 2.8GHzというレガシーな)でNTFS圧縮入れると、転送速度が1/3くらいになりますな。普通に使う分には困らんけど。

 大容量HDDがアホみたいに安い今のご時世、容量よりスペックを優先したいと思ったなら、アロケーションサイズ云々よりRAID環境(RAID10あたり)を検討すべき。大容量化で、HDDが破損した時の被害も増大しているのだし……。


by lordnoesis | 2009-11-01 10:29 | テクノロジ | Trackback | Comments(0)
ブログトップ | ファンになる