どちらが速いですか、そしてなぜ:いくつかの小さなファイルまたはいくつかの大きなファイルを転送しますか?


17

私はすぐに、数千個のファイルを含むフォルダーを作成します。各ファイルは数KBのオーダーです。UNC共有間でWindowsネットワークを介してこれらを転送する必要があります。一般に、ファイルをまとめて単純にコピーする方が速いのですか、それとも圧縮して(たとえば、最速モードで7zipを使用して)1つまたはいくつかの大きなファイルを送信する方が速いでしょうか?それとも、実際に違いはありませんか?

回答:


37

転送をネゴシエートするオーバーヘッドのため、多数の小さなファイルの代わりに単一の大きなファイルを転送する方が高速です。ネゴシエーションはファイルごとに行われるため、1つのファイルを1回転送する必要があります。n個のファイルを転送すると、n回実行する必要があります。

転送の前に最初にzip圧縮を行うと、時間を大幅に節約できます。


1
en.wikipedia.org/wiki/Slow-startも大きなファイルを優先します。
キーン司令官

4
圧縮にも時間がかかることを考慮してください。データを圧縮できない場合(たとえば、JPEG、ZIP、JAR、および既に圧縮されている他の形式)、それらをTAR(または圧縮なしのZIP)のみにする必要があります。これにより、データをさらに圧縮しようとする無意味な試みのCPU時間を節約できます。
ダニエルシュネラー

多くの小さなファイルは、あなたに大きな苦痛をもたらします-小さなパケットと各SMBハンドシェイクの間で、zip圧縮はおそらくコピー時間を60%削減します。
user2278 09年

部分的なアーカイブをコピー/抽出できるため、TARの+1。
クリスティアンバット

この答えは正しいですが、Windows 7には(少なくとも)XPでまったく同じファイルセットをコピーすることがWindows 7よりもはるかに速いという既知のバグがあります: social.technet.microsoft.com/Forums/en-US/ w7itproperf / thread /…
tbone

5

Jon Cahillは非常に正確で、単一のファイルの方が高速です。ただし、接続に不安定がある場合は、転送が失敗した場合は最初からやり直す必要があるため、個々のファイル(またはzipファイルの中サイズのグループ)の方が良い場合があることに注意してください最後に起動したファイルをやり直す必要があるファイル


5
転送プロトコルが再開しない限り。
Unkwntech

1

多数の小さなファイルも、単一の大きなファイルよりもファイルシステムへの書き込みに費用がかかります。次のようなことをする必要があります。

  • ファイル名が一意であることを確認してください
  • ファイルテーブルエントリを書き出す

ディレクトリ内のファイルを取得するにつれて、これは非常にコストがかかる可能性があります。そして、これらの各ステップは、コピープロセスに遅延を追加し、全体を遅くする可能性があります。


1
彼はまだターゲットシステムのすべての小さなファイルを必要としていると思うので、おそらく後でzipを解凍する必要があります。つまり、ファイルシステムはまだ作業をしなければなりません。ただし、大きなファイルを送信して解凍することは、すべての小さなファイルをネット経由で転送するよりもはるかに高速です。
ブラム2009年

@BlaM、答えで私が言ったように、それはすべて待ち時間に帰着します。各CreateFile操作にネットワーク遅延が追加されると、合計時間がさらに長くなる可能性があります。コピーがファイルを同時に作成できるほどスマートであれば、おそらく操作に影響はありません。
ルークキナン2009年

0

ここではおそらく、平均ファイルサイズに対する平均パケットサイズが重要です。多くの小さなファイルを使用すると、多くの小さなパケットを送信することに気付く場合があります。小さなパケットには依然としてTCPオーバーヘッドが発生します。その結果、トラフィック量が2倍になる可能性があります。

最新のシステムや比較的古いシステムでも、単一のTCP接続で複数のファイルを送信できるため、そのハンドシェイクのコストを回避できます。


0

私が見つけたものですが、より高速な転送が必要な場合は、ローカルコンピューターから転送を開始し、ローカルドライブにコピーします。

つまり、\ computer1 \ myshareをc:\ files \ myshareにコピーします。3台目のコンピューターを使用せずに、\ computer1 \ myshareから\ computer2 \ mynewshareにコピーします。


0

また、プロトコルの選択は完了するまでの全体の時間に影響することを覚えておく価値があります-たとえば、あるホストから別のホストへのFTPファイルへのアクセスは、Windowsファイル共有を使用するよりも著しく高速です(もちろん、ドメインのアクセス許可なども同様です)失われますが、状況によっては、これは許容できるトレードオフになる可能性があります-結局、これらは圧縮/解凍によっても失われます)

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