NTFS を使用する Windows は、大量のファイルとディレクトリをどのように処理しますか?
パフォーマンスの問題やその他の問題が発生する前に、単一のディレクトリに配置できるファイルまたはディレクトリの制限に関するガイダンスはありますか?
たとえば、100,000 個のフォルダーを含むフォルダーを作成しても問題ありませんか?
NTFS を使用する Windows は、大量のファイルとディレクトリをどのように処理しますか?
パフォーマンスの問題やその他の問題が発生する前に、単一のディレクトリに配置できるファイルまたはディレクトリの制限に関するガイダンスはありますか?
たとえば、100,000 個のフォルダーを含むフォルダーを作成しても問題ありませんか?
これは、数千万のファイルを含むフォルダーがある環境の誰かからのアドバイスです。
あなたの質問にもっと直接的に答えるために:あなたが100Kのエントリーを見ているなら、心配はありません。ノックアウトしてください。数千万のエントリを見ている場合は、次のいずれかです。
a)それらをサブフォルダーに分割する計画を立てます(たとえば、1億個のファイルがあるとします。1つの大きなフォルダーに保存するよりも、フォルダーごとに100,000個のファイルしかないように1000個のフォルダーに保存することをお勧めします。これフラグメントの最大数の制限に達する可能性が高い単一の大きなインデックスではなく、1000のフォルダインデックスを作成します。
b)大きなフォルダのインデックスを最適化しておくために、contig.exeを定期的に実行する計画を立てます。
退屈している場合にのみ、以下をお読みください。
実際の制限は、フラグメントの数ではなく、フラグメントへのポインタを格納するデータセグメントのレコード数にあります。
つまり、ディレクトリデータのフラグメントへのポインタを格納するデータセグメントがあります。ディレクトリデータには、ディレクトリに保存されていると思われるサブディレクトリとサブファイルに関する情報が保存されます。実際、ディレクトリは何も「保存」しません。これは、記憶媒体自体が線形であるため、ユーザーに階層の錯覚を提示する単なる追跡および表示機能です。
また、短いファイル名を作成すると速度が低下するというパフォーマンス上の問題もあります。フォルダに 30 万を超えるファイルがある場合、Microsoft は短いファイル名の作成をオフにすることをお勧めします [1]。最初の 6 文字の固有性が低いほど、これは問題になります。
[1] How NTFS Works http://technet.microsoft.comから「300,000」を検索
100万あればいいのに。
私は(逸話的に)何百万ものファイルで問題を抱えている人々を見てきました.6万を超える数千のファイルを数える方法がわからないだけでExplorerに問題がありましたが、話しているボリュームにはNTFSが適しているはずです。
ご参考までに、技術的な (そして理論的なことを願っています) ファイルの最大数は 4,294,967,295 です。
ローカル アクセスの場合、多数のディレクトリ/ファイルは問題にならないようです。ただし、ネットワーク経由でアクセスしている場合は、数百回後にパフォーマンスが著しく低下します (特に Vista マシンからアクセスした場合 (XP から Windows Server w/NTFS への移行は、その点ではるかに高速に実行されるようです))。
N 個のエントリを持つフォルダを作成すると、ファイル システム レベルで N 個のアイテムのリストが作成されます。このリストは、システム全体の共有データ構造です。その後、エントリを追加/削除してこのリストを継続的に変更し始めると、共有データに対するロックの競合が少なくとも発生することが予想されます。この競合は、理論的には、パフォーマンスに悪影響を与える可能性があります。
読み取り専用のシナリオでは、多数のエントリを持つディレクトリのパフォーマンスが低下する理由は想像できません。
1 つのオンライン ライブラリをコピーしているときに、ディレクトリ内の NTFS で約 100,000 個のファイル (それぞれ数 MB) を実際に使用した経験があります。
エクスプローラーや 7-zip でディレクトリを開くのに約 15 分かかります。
でのサイトコピーの書き込みwinhttrack
は、しばらくすると常にスタックします。また、約 1 000 000 個のファイルを含むディレクトリも扱いました。最悪なのは、MFT がシーケンシャルにしかトラバースできないことだと思います。
ext3 の ext2fsd の下で同じものを開くと、ほぼ同じタイミングが得られました。おそらく、(reiser4fs ではなく) reiserfs に移行することが役に立ちます。
この状況を回避しようとするのがおそらく最善です。
fs なしで blob を使用する独自のプログラムでは、有益な場合があります。これは、Facebook が写真を保存する方法です。