web-dev-qa-db-ja.com

ファイル共有に大きなNTFSディスク割り当てサイズを使用すると違いが生じますか?

NTFSを使用してドライブをフォーマットします。これは、ユーザーがファイルを一元的に保存するためのファイル共有として専用になります。ファイルはおそらく大きくなります(数十メガバイトから数百メガバイト)。

誰かが、デフォルトの4k(たとえば64k)よりも大きいアロケーションユニットサイズを使用すると、パフォーマンスが向上することを示唆しています。その背後にある基本原理は理解していると思いますが、実際に有効かどうかはわかりません。これは本当に違いを生むのでしょうか、それとも解決するよりも多くの問題を引き起こす可能性があるのでしょうか?

9
DSO

割り当てサイズを大きくすると、大きなファイルを使用するときのパフォーマンスが向上します。それらがすべて大きなファイルになる場合は、割り当てサイズを32KBまたは64KBに増やすことをお勧めします。

アロケーションユニットサイズが大きいほど、無駄になるディスク領域が増えることに注意してください。これは、ボリュームに保存されているファイルのサイズに関係なく当てはまります。アロケーションユニットサイズが64Kで、50Kのファイルを保存すると、14Kが無駄になります。 800Kのファイルを保存すると、13のチャンクに分割されますが、13番目のチャンクには32Kのデータしかないため、32Kの無駄なディスク領域が生じます。

NTFSドライブのパフォーマンスチューニングに関するリソースは、次の場所にあります。 http://www.windowsdevcenter.com/pub/a/windows/2005/02/08/NTFS_Hacks.html

幸運を祈ります。それ以上の質問は遠慮なく聞いてください。

リマ

9
Lima

アロケーションブロックサイズを設定すると、大きなファイルにアクセスする際のパフォーマンスが向上しますが、他のボトルネックがローカルのメリットを小さくするため、ネットワークファイル共有のパフォーマンスを著しく向上させることはほとんどありません。

注意すべき点がいくつかあります。

  • ファイルはより多くのスペースを取るので、小さなファイルがたくさんある場合、これは問題になります
  • システムが一度にブロック全体を読み取るため、小さなファイルへのアクセスは遅くなる可能性があります(したがって、64Kbブロックを使用する場合は1Kbファイルの64Kbを読み取る)。ただし、ドライブの先読み動作によっては、これは目立たない場合があります
  • アクセスパターンが非常にランダムである場合や、ネットワークを介してリソースにアクセスする同時プロセスが多数ある場合、実際にパフォーマンスが低下することがあります。

私の腸は、マストユースケースでは賢明なパフォーマンス(または有害なパフォーマンス)にあまり気づかないと示唆しています。私の腸は非常に大きいので、それについて議論することはないので、スペース使用効率のために小さいクラスターサイズを使用します。 。

5
David Spillett

一般的な考え方は、ディスクスペースを犠牲にして、大きい=パフォーマンスが向上するということです。

デフォルトのサイズを変更すると、正しくコーディングされていないディスクユーティリティがエラーまたは失敗するというオンラインの騒動があります。したがって、バックアップを計画しない場合は、そのことを覚えておきたいと思うかもしれません;-)

0
MathewC