すべてを一度にコピーするのか、一度に1つのものをコピーするのが速いですか?


16

USB 2.0を使用して、大量(20 GB以上)の大きな(1 GB以上)ファイルを外部フラッシュドライブに転送しています。複数の転送が行われるように、または一度に転送し、終了するのを待って、次の転送を行うために、一度にすべてを一度に投げる(一度に1つずつのように、前の転送が終了するのを待たない) 。ファイルはさまざまな場所から来ているため、1回の大きな転送を行うことはできません。

検討する価値のある他の利点はありますか?


「バンチ」はいくらですか?
モアブ

20歳以上、質問が更新されました。
フレッドリー

6
ここには非常に興味深い理論上の答えがいくつかありますが、実際のデータをいくつか見たいです。信頼できるテストを設定するにはどうすればよいですか?
ポップス

回答:


19

それらがすべて異なる物理ディスクから来ているが、ソリッドステートドライブ(フラッシュ、SSD)に書き込まれている場合、それらを同時にコピーできます。

物理的な頭の動き(レイテンシ)は、回転するプラッタディスクからの転送を遅くするものです。単一のHDDからコピーしている場合、多数の小さな転送ではなく、単一の大きな転送を開始します。コピーされている2つ以上のファイル間を行き来することで、転送が遅くなります。もちろん、単一のファイルをコピーしていても、HDDが非常に断片化されていれば、同じ効果が得られます。

ソリッドステートドライブ間であれば、問題ではありません。

各転送が終了するのを待ちたくない場合は、Teracopyなどのコピーキューイングアプリを使用します。

もちろん、ここではフラッシュドライブの書き込み速度がボトルネックになるため、どの方法を使用しても問題はありません。:)


1
素晴らしい答えですが、私は自分でFastCopyを好みます。:-)
afrazier

Teracopyは素晴らしいです!Windowsファイルコピーシステムを自動的に置き換える方法が気に入っています。大幅な速度向上に感謝します!
フレッドリー

論理的に聞こえますが、これは私が個人的に考えていることです。しかし、練習は別の方法で証明されています、30 MB /秒で(SSDから)単一ファイルをコピーするUSB​​フラッシュがありますが、同じ環境で3つのファイルを同時にコピーしようとすると、速度は2.5 MB /秒に低下しますコピースレッドごと。そのため、速度は30 MB /秒から7.5 MB /秒まで低下します。
シーシュポス

2

宛先ディスクがSSDである場合、SSDが、ここで問題になっているものについては、気が速いことに注意してください。(*)

宛先の速度が遅い場合(書き込み速度がそれほど高くないフラッシュからSATA3 HDD、磁気テープまで)、転送を1つずつキューに入れる必要があります

ボトルネックは確実に宛先ディスクにあります

HDDでは、シリンダーに複数のヘッドがあるにもかかわらず、同時に読み書きすることは許可されていないため、これが最近推奨されました(実際のシナリオでは、ランダムなデータに遭遇する可能性があるため、パフォーマンスへの影響はありませんほとんどの場合、そのヘッドでR / Wを実行できないヘッドの1つです。ヘッドが完全に中央に配置されていないと、ディスクが破損する可能性があります。

常識(そして数学も!)によると、ソースは非常に多いが、ファイルの転送を並行して行うことができる場合、ヘッドシークは(多くのシナリオではないが)ジョブのシリアル化よりも高速になる可能性があります。

(*)つまり、ニュートンが述べているように、頭の動きがないからです。ただし、レイテンシという用語は使用しないでください。レイテンシは、ヘッドの移動+ディスク回転遅延+読み取り時間であり、SSDでは単にランダムな読み取り時間であり、ディスクドライブのように以前の読み取り位置に依存しません


2

Windowsに組み込まれているファイルコピーユーティリティを使用すると、どちらも非常に遅くなります。TeraCopyなどの代替アプリケーションの使用を検討することもできます。


1

IPプロトコル(FTP / SCP / Samba / etc)を介してコピーする場合、各ファイル間に複数のハンドシェイクがあるため、1つのファイルをコピーするオーバーヘッドが少なくなります。

この場合、大きなファイルがあり、数量が少ないため、I / Oバスに何の影響も与えず、そのままコピーする方が簡単です。


0

一度に1つのファイルを作成するのが最善です。

フラッシュドライブの帯域幅がかなり簡単に飽和することがわかるでしょう。(ソースドライブがボトルネックになることはほとんどありません。)USB 2.0は最大480MBを転送できますが、フラッシュドライブはおそらく最大20MBに制限されます。つまり、いくつかのファイルをハードドライブから転送すると、フラッシュドライブの書き込み速度が最大になり、各ファイルは共有する必要があるため、書き込みが遅くなります。

また、複数のファイルを同時に書き込むことで、断片化が増加します。これは、転送の開始と同時にファイルのスペースが完全に割り当てられない限り、ファイルが転送されるとチャンクに分割されるためです。

(幸いなことに、フラッシュドライブはソリッドステートなので、複数のファイルをハードディスクに転送する場合のように前後にスラッシングする必要のあるヘッドはありません。)

複数のファイルを同時に書き込むことの別の欠点は、ファイルコピーダイアログがその個々のファイルの進行状況と残り時間のみを示すことであり、線形ではないため合計時間を推定することはほとんど不可能になります(単純に追加することはできませんそれら)。それらを一緒に転送すると、転送全体についてより正確なフィードバックが得られます。

ソースファイルが異なるソース(異なるハードドライブ、CD / DVD、ネットワークドライブ、または単なるフォルダーを意味する場合)の場合、Windowsの組み込みの代わりに専用のファイルコピーツールを使用することができます。機能中。いくつかのオプションには、GUIフロントエンドを備えたMicrosoft TechNetツールRobocopyRobocopyに基づく拡張ツールであるRichCopy(TecNetからも)、およびできるだけ効率的に転送を行うことに特化したTeracopy(無料版)。


0

OPは、USB 2.0を介して、ソースに関係なく、一度に1つずつターゲットをコピーする必要があると明確に述べているため、OKです。

S =シリアル。複数のファイルストリーム=オーバーヘッド。

しかし、実際には...

複数のソースからコピーする場合、コピー「キュー」を手動で作成する必要がないため、複数のストリームで失われる時間は埋め尽くされます。そして、それは簡単です。;)

また、複数のストリームでコピーしていて、1つが失敗した場合、残りはおそらく完了します。


0

各ファイルを個別にロードすることで節約される電子処理時間は、各ファイルのロードが完了するのを待ってから次のファイルを個別に移動するという物理的な動作の間に失われる時間を補うためにかなり大きくなければなりません。


新しい回答を書く前に他の回答を読んでください
-yass
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.