9

NTFSを使用するWebサーバーに約600,000枚の画像を保存する必要があります。サブフォルダの20,000画像チャンクに画像を保存する方が良いですか?(Windows Server 2008)

画像検索中にオペレーティングシステムのオーバーヘッドが発生することが心配です

4

3 に答える 3

7

頑張れ。外部インデックスがあり、ディレクトリの内容を一覧表示せずに各ファイルへの直接フ​​ァイルパスがある限り、問題はありません。

サイズが500GBを超え、400万を超えるフォルダー(より多くのフォルダーとファイルがあります)を持つフォルダーがあります。全部で1000万ファイルくらいあります。

Windowsエクスプローラーでこのフォルダーを誤って開いた場合、プロセスを強制終了するまで、100%のCPU使用率(1つのコアの場合)でスタックします。ただし、ファイル/フォルダーのパフォーマンスを直接参照する限り、パフォーマンスは優れています(つまり、オーバーヘッドなしでこれらの1,000万個のファイルのいずれにもアクセスできます)

于 2010-04-12T21:45:26.120 に答える
4

NTFSにディレクトリインデックスがあるかどうかに応じて、アプリケーションレベルからは問題ないはずです。

つまり、名前でファイルを開いたり、削除したり、名前を変更したりすると、プログラムでうまく機能するはずです。

しかし、問題は常にツールです。サードパーティのツール(MSエクスプローラー、バックアップツールなど)は、ディレクトリごとに多数のファイルを使用すると、機能しなくなるか、少なくとも非常に使用できなくなる可能性があります。

ディレクトリスキャンを実行するものはすべて非常に遅い可能性がありますが、さらに悪いことに、これらのツールの一部はアルゴリズムが貧弱で、ディレクトリごとに適度な(10k以上)数のファイルにさえ拡張できません。

于 2010-04-12T21:57:35.750 に答える
1

NTFSフォルダには、すべてのコンテンツへのリンクを含むインデックスファイルが保存されます。大量の画像があると、そのファイルは大幅に増加し、パフォーマンスに悪影響を及ぼします。したがって、はい、その議論だけで、サブフォルダにチャンクを格納する方が良いでしょう。インデックス内のフラグメントは苦痛です。

于 2010-04-12T21:27:54.080 に答える