2

WAN 経由でファイルを読み取っているときにアプリケーションのパフォーマンスが低下することを調査しているときに、Windows エクスプローラーでそのファイルをコピーする方がはるかに高速であることに気付きました。

Process Monitor でさらに調査したところ、原因が明らかになりました。私のアプリケーションは C ランタイムのデフォルトの BUFSIZE である 512 を使用していましたが、Windows エクスプローラーはファイルを 61440 バイト ブロックで読み取る必要があると判断しました (これは明らかに SMB または Windows でサポートされている最大値です)。 ' SMB の実装)。その結果、Windows エクスプローラーの往復回数が大幅に減り、実行速度が大幅に向上しました。

バッファー サイズの推奨値のほとんどは 4k ~ 16k の範囲ですが、WAN 環境では、バッファー サイズを最大化してラウンド トリップを最小限に抑えることが理にかなっています。Windows エクスプローラーは、使用するバッファー サイズをどのように決定しますか?

4

1 に答える 1

0

ネットワークMTUよりも小さいものが良いかもしれないと思っていたでしょう

于 2011-06-30T15:35:55.877 に答える