Windows Server 2003SP2ファイル共有にファイルを保存する内部アプリケーションをサポートしています。現在、ファイルを保存するように構成されているため、1つのフォルダーには最大116,000のファイルが含まれます(別のフォルダーには最大65,000のファイルがあり、他のフォルダーにはそれより少ないですが、それぞれ数千のファイルがあります)。アプリケーションはファイルの書き込みが非常に遅くなりました。
ファイルレイアウトは現存するように構成可能であるため、私はより良い計画を考え出そうとしています。フォルダあたりのアイテム数SMBが使用できなくなる前に処理できる)について誰かが経験したことがありますか?この場合、かなり長い間遅くなりましたが、使用できなくなり始めませんでしたフォルダが100,000ファイルを超えるまで。
これは、ディレクトリを列挙するために使用されているアルゴリズムのファイル数とスケーリングよりも、帯域幅と遅延(特に遅延)に依存します。私が言っているのは、「マジックナンバー」はないと思います。
SMBプロトコルは恐ろしい多くのラウンドトリップを必要とするためです。レイテンシが2倍のファイルの数は、になります。 )many倍、たとえば2倍以上遅くなります。
LAN、ネットワークインフラストラクチャの遅延、およびサーバーコンピュータのIOサブシステムの遅延について、誤ってベンチマークを実行しました。明らかに「魔法の数」を見つけました。それはわかります。パフォーマンスが向上するまでディレクトリを削減しました。他に方法はありません。
エヴァンの権利、マジックナンバーはありません。アプリとサーバーによって異なります。クライアントがVista以上で、SMBv2を使用している限り、サーバー2008へのアップグレードが役立ち、私が最初に行うことです。がらくたのように閲覧する500,000のファイルを持つ共有がありますが、ユーザーは提供された直接パスのみを使用するため、正常に機能します。同じサーバー上に、ユーザーが問題のない100,000個のファイルとの共有があります。