私が同時にサーバー・システム上に大量のデータをコピーして書き込もうとしてるのWindows Serverに2012負荷依存のファイル転送
を使用して書き込みが約30%に近づいて、高データレートで複数のアプリケーションから起こりますローカルシステムのI/O制限のうちの1つです。
転送はローカルストレージとネットワークストレージ間で数ギガビットまでの転送速度で行われます。
データを書き込むアプリケーションは、動作中にメモリが不足していてはならないため、転送はソースシステムの負荷を認識し、転送プロセス中に自分自身を制限する必要があります。
試みは、基本的なWindowsベースのツール(X /コピー、robocopyを)を適用するために行われています。 x/copyは制限機能を提供しないため不適切です。 Robocopyは、調整方法によって、または使用可能なネットワーク/メモリの制限を超えて調整しないときに、メモリの問題を引き起こすことが証明されています。
は今ここに面白い部分です:標準のWindowsエクスプローラのコピーGUIを使用すると、これらの問題のいずれかを示しません。実際には、が表示されていても、驚くほど高速にコピーされます。はシステムパフォーマンスに全く影響しません。
次のステップは、望ましいエクスプローラのコピー処理の動作を模倣するために、基本的な勝利のAPIを使用して、カスタム・コピー・プロセスを作成伴うだろう。
Q:どの基本的なapiコピーコマンドは、エクスプローラコピーを使用していますか?copyFile2? ...完全に利用できない内部コピーコマンド?私は他の選択肢を考慮する必要がありますか?
IFileOperationインターフェイスでは、エクスプローラが使用するコピー機能にアクセスできます。 –
ありがとう、私はそれを調べます。 –
@ JonathanPotter私は、IFileOperationインターフェイスを使用してツールを実装し、配備しました。お気軽に回答を投稿し、私はそれを受け入れます。 –