ギガビット接続では、Teracopyは31MB / sを実行しますが、Windows 8は毎秒109MBを実行しますか?


13

本日、Cat.5eを介してLinksys WRT320N(sporting dd-WRT)に接続された2011 MacMiniとWindows 8 Proデスクトップ間で、Gigabitネットワーキングの頭がおかしくなりました。

両方のシステムの回線速度が1Gbpsを示していることを確認した後、2.4GB MP4をMiniからWin 8デスクトップにコピーしました(SMB共有)。Teracopyが示していた30〜34 MB /秒には満足していましたが(これは10 MB /秒からの適切なステップアップでした)、広告と実際の速度のこの大きな違いにまだ興味がありました。

2時間のGoogleでは、SMBが1であるなど、速度が低下する他の要因があると信じていました。それを行うためだけに、両方のシステムをiPerfし、それが何を示したのかを推測しました-両方のシステムで約875 mbpsです!

その後、この小さな情報につまずいた後、Teracopyをオフにして、Windows 8の通常のコピー機を介して同じファイルをコピーしました。109 MB /秒。溶けた脳:)

これは正確に何が原因ですか?また、Teracopyを使用してこのような速度を有効にできますか?私はTeracopyが持っている余分な機能を本当に掘り下げます、確かに今それらを逃します:D


2
最初に頭に浮かぶのは、どのようにしてテラコピーでコピーしたのですか?ドライブ文字へ/から?(これは物事をシリアル化して遅くなります)またはUNCパスへ?
ヘネス

両方のコンピューターでフォルダーを共有しました(右クリック>共有>このフォルダーを共有、または同等のもの)。エクスプローラーの左側のペインから「ネットワーク」を開くだけで、OS Xでは、Finderの左側のペインからネットワーク化されたコンピューターの名前を選択して、ネットワーク化されたコンピューターにアクセスします。簡単に言えば、Win 8のExplorerからMacのファイルにアクセスし、基本的なCtrl + Cコマンドを使用してそれらをコピーし、PCのデスクトップにローカルに貼り付けます。
ガラン

使用するドライブは何ですか?2つのSSD?それらのWindows 8の数字は私には奇妙に見えます。
Apache

回答:


16

ギガビット接続では、Teracopyは31MB / sを実行しますが、Windows 8は毎秒109MBを実行しますか?

これは正確に何が原因ですか?また、Teracopyを使用してこのような速度を有効にできますか?私はTeracopyが持っている余分な機能を本当に掘り下げます、確かに今それらを逃します:D

2つの単語:検証キャッシュ

技術説明

これは、Windowsエクスプローラーでファイルをコピーする一般的な手順です。

  1. ソースドライブからメモリにデータのチャンクを読み取ります
  2. システムを介してチャンクを送信します
  3. 宛先ドライブにチャンクを書き込みます
  4. まだ完了していない場合は、手順1に戻ります

これは、単純で十分に短いようです。この転送アルゴリズムでは、ファイルの各バイトは2回だけ処理されます。1回の読み取りと1回の書き込みです。

しかし、さらに、Windowsは一部のデータをキャッシュするためにメモリを使用します(ドライブ自体も同様)。だからではなく、書かれたばかりの仕上げに、以前のチャンクを待っている、のしてから次のチャンクを読んで、新しいチャンクを読み取ることができる一方で、前の1はまだ書かれています。明らかにこれは永遠に持ちこたえることはできませんが、Windowsは、メモリに読み込まれているファイルのすべてではないにしても、ほとんどを保存するための一時バッファとして残りの空きメモリをすべて使い果たすことができます。

1つのドライブから別のドライブに大きなファイル(または多くのファイルを含むフォルダー)をコピーし、すぐに2つを比較することにより、キャッシュの動作を確認できます。その時点では、ファイルがまだメモリ内にあるため、後で行う場合よりも比較がはるかに高速になります。したがって、実際にはドライブからファイルを読み取っていません。

メモリは非常に高速であり、読み取り速度は書き込み速度よりもやや速い傾向があるため、最終的な転送速度は、宛先ドライブの書き込み速度によってのみ制限されます。

Teracopyは、エクスプローラーでは実行できないファイル転送の速度を低下させる可能性がある2つのことを実行できます。

  • キャッシュを忘れて、ドライブから直接読み取る

  • 宛先が正しく書き込まれたことを確認します

転送中に基本的なエラーのみをチェックするExplorerとは異なり、Teracopyは、転送メディア(ネットワーク/ドライブケーブルなど)の問題によって発生する可能性のあるデータ破損を防ぐために、データが宛先ドライブに正しく書き込まれたことを実際に確認できます。 )またはドライブ自体(不良セクタなど)これを行うと、宛先からファイルを読み取って元のファイルと比較する必要があります。

使用するアルゴリズムとファイルのサイズに応じて、エクスプローラーの2つとは対照的に、ファイル/ファイルチャンクごとに3つ以上のドライブ操作(最低でも)で検証を最適化できます。ソースからファイルを読み取り、宛先にファイルし、宛先からファイルを読み取ります。

Teracopy(HDDに最適化されたアルゴリズム)でファイルをコピーするとどうなるかを見てください。

  1. ソースドライブからチャンクを読み取る
  2. ソースドライブから読み取ったチャンクをハッシュする
  3. システムを介してチャンクを送信します
  4. 宛先ドライブに書き込みます
  5. キャッシュをクリアする
  6. 宛先ドライブからチャンクを読み戻す
  7. 宛先ドライブからチャンクをハッシュします
  8. ハッシュを比較する
  9. 次のステップを決定する
    • ハッシュが一致しない場合、エラーを表示し、ユーザーにアクションを促します
    • ハッシュが一致して終了していない場合は、手順1に戻ります

問題は、転送中にファイルをキャッシュすると、宛先ドライブ上の実際のデータを読み取らず、ソースからメモリにキャッシュされたコピーを読み取るため、比較が役に立たなくなることです。したがって、適切に検証するには、キャッシュをクリアする必要があります。これは、読み取りと書き込みのたびに(これは、任意の重要なサイズのファイルに対して数え切れないほど行われる追加の操作です)、またはファイル全体が転送されたに一度だけ行うことができます。

以下のスクリーンショットによると、TeraCopyはファイルの転送中ではなく転送に検証実行します。これは、代わりにこのCPU / RAMに最適化された転送アルゴリズムを使用することを意味します。

  1. ソースドライブからチャンクを読み取る
  2. システムを介してチャンクを送信します
  3. 宛先ドライブに書き込みます
  4. まだ完了していない場合は、手順1に戻ります
  5. コピーが完了したので、キャッシュをクリアして検証中です
  6. ソースドライブからチャンクを読み取る
  7. 宛先ドライブからチャンクをハッシュします
  8. 宛先ドライブからチャンクを読み取ります
  9. 宛先ドライブからチャンクをハッシュします
  10. ハッシュを比較する
  11. 次のステップを決定する
    • ハッシュが一致しない場合、エラーを表示し、ユーザーにアクションを促します
    • ハッシュが一致して終了していない場合は、手順6に戻ります

このアルゴリズムはCPUとRAMの負担をわずかに軽減しますが、各ファイルを4回処理する必要があるため、ドライブの負担も大きくなります。ソースからファイル全体を読み取り、宛先に書き込みます。 、それからソースから、そしてデスティネーションから再びそれを読みます。

(TeraCopyがネットワーク転送用に最適化されている場合、検証のためにファイル全体を2回送信することを避け、はるかに小さいハッシュのみを送信できますが、現在はそうではないようで、ネットワークドライバーは同じように扱われますローカルドライブとして、実際にソースを再読み取りします。)

デフォルトでは、TeraCopyはキャッシュを検証または使用しません。検証しないと転送が高速になります(より正確には、速度が低下しません)が、キャッシュ使用しない速度低下します。

応用

特定の速度結果を判断するには、設定を確認して、変更していないかどうかを確認する必要があります。その後、さまざまな設定でどのような速度が得られるかを概算してみてください(それらは相互作用する可能性があるため、加算または減算の単純な問題ではないことに注意してください)。

そうは言っても、あなたの数字を使って大まかな計算をしましょう:

  • ローカルファイル転送:875Mbps(つまり、ドライブ速度)
  • ネットワーク速度:1Gbps = 119.21 MBps
  • Windowsエクスプローラーでコピー:109MBps
  • TeraCopyを介したコピー:34MBps

すぐに、Explorerのファイル転送がネットワークスループットをほぼ最大限に活用していることがわかります。1Gbpsリンクは1,000,000,000 ビット /秒に相当し、これはバイトのバイナリ単位で119MBpsです。Explorerは109MBpsをクロッキングしており、残りの10MBps(これは以前の最大値でしたが、十分に面白い)は、オーバーヘッド、バックグラウンドロード、およびフラグメンテーションによって簡単に説明できます。 :^Þ

(転送速度はネットワーク速度とほぼ等しいため、Explorerのファイル転送は一方向であり、各ファイルのコピーが1つだけ送信されると推測できます。)Explorerは、ファイルごとに2つのファイルアクセスに対して110MBpsを取得します。

TeraCopyの場合。TeraCopyはExplorerの速度のほぼ正確に3分の1を獲得しているようです。

設定ダイアログが使用するアルゴリズムを正確に示しているかどうかに応じて、TeraCopyはコピーを確認できるように、実際にソースファイル全体を2回送信している可能性があります。これにより、スループットが半分になります。キャッシュがオンになっている場合、新しいチャンクを送信する前に各書き込みが完了するのを待機する必要があるため、速度も低下します。検証と組み合わせると、さらにノックダウンできます。

検証をオンにしてキャッシュをオフにすると、34MBpsの転送速度が妥当と思われます。検証をオフにしてキャッシュをオンにすると、Explorerとほぼ同じになります(TeraCopyが使用するファイル転送コードとExplorerが使用するファイル転送コードの違いによっては、わずかに減少する場合があります)。

10GB近くを転送したい場合は、設定を変更し、4つの順列ごとに転送をやり直して、取得する速度を書き留めてください(安全のために、キャッシュが実行の間にオフ:)V+C+, V+C-, V-C+, V-C-


デフォルト設定のTeraCopy設定ダイアログのスクリーンショット


1
最大のパフォーマンスを求めている場合、SSDを使用して「システム書き込みキャッシュを使用する」を有効化(チェック)する場合、あなたの意見ではお勧めですか?
イロおじさん16年

1

Windows 8がSMB v。3を使用しており、teracopyがSMB v.3と互換性があり、デフォルトでSMB 2に戻っているのではないかと思われます。


0

私はあなたの問題に100%答えることはできませんが、もっと役立つかもしれません。
Teracopyに切り替える理由は、Windowsが何かを実行する前にすべてを「計算」する必要があり、この計算自体がプロセス全体をフリーズすることがあるためです。他の投稿では、コピーされるファイルの種類がWindowsコピーで問題になることが提起されました。しかし、私自身の試みはこれまでのところ、どんなイベントでもあなたが得るよりも少ないものを残しています。メディア(写真/映画)ファイルではなく、一般的なファイルタイプをコピーしています。

私のテストは、100%GBネットワーク上のGB NICアクセスを備えたSeagate 3TB NASからGBシステムに行ったものです。ベストケース、14 Gbps。NASからシステムHDへのWindowsの移動は12.4GBpsで、開始に少し時間がかかりました。109Mb / sほど30-34Mbpsに近いものはありません。

これの一部は、GBネットワークでもNASのフロー制御によるものです。34GB /秒を取得できれば非常に幸せですが、109GB /秒を取得できればさらに幸せです。より速いファイルコピー機を見つけたら投稿してください!:)


1
システム書き込みキャッシュを使用するときに使用する設定が、リアルタイムの完了に大きな違いをもたらすように見えることを追加したいと思います。はるかに高速。
user1376156

ネットワーク上で14Gbpsをどのように得ていますか?SATA IIIでさえ、このような速度をサポートしていません。
3月Ho

0

これは、IntelマザーボードチップセットNIC間のこの問題に役立ちました。

TOE(TCPオフロードエンジン)は2003年にWindowsに導入されました。チェックサムを「オフロード」すると、当時ほとんどのサーバーで使用されていたBroadcom NICがデータ破壊を引き起こす恐ろしい結果をもたらしました。NICベンダーはまだ正しくないようで、Broadcomだけではありません。ネットワークオフロードは、ほとんどの場合、ソフトウェアですべてを実行するよりも遅く、明らかにエラーが発生しやすくなります。私はあなたのアダプタ設定に行き、あらゆる種類のハードウェアのオフロードをすべて無効にします。


2
これが原因である場合、すべてのTCPネットワークトラフィックが遅くなります。ネットワークを単純にコピーするだけでなく、高速なエクスプローラコピーもあります。
ヘネス

0

以前は、TeraCopyを介した低速転送で同じ問題がありました。Realtek Gigabit 8111CビルトインLANカードを搭載したCeleron J1800。毎秒35〜45メガバイトしか得られませんでした。かなりイライラする!

悪いLANカードドライバーになってしまいました。

OEMドライバーを使用してWindowsをゼロからインストールしました。同様に、私は次のことをしました:

[デバイスマネージャー] / [LANカード] / [詳細設定] / [フロー制御]以外のすべてを無効にします。

[Windowsの機能]で、リモート差分圧縮を無効にします。

現在、平均速度は60〜70 Mbpsです

ここに画像の説明を入力してください


-1

また、Teracopy 2.3 finalとSynology Diskstationでいくつかのテストを行いました。実際、コピープロセスは遅すぎます。平均速度が約40 MB / sのファイルをコピーしました。

オリジナルのWindows 8ファイルコピープログラムは、Teracopyよりも高速です!

現在、Ultracopierを試用していますが、現在の速度は約80 MB / sで、Teracopyよりもはるかに高速です。私はTeracopyが好きですが、Teracopyにはネットワークコピーの問題があると思います。

あるネットワークドライブから別のネットワークドライブに多くのファイルをコピーするので、コピープロセスは常に長すぎるため、入手できる最速のコピープログラムを使用する必要があります。


1
Ultracopierを試したところです...そして、グーグルで検索しましたが、wikiはWindowsエクスプローラーファイルの代わりとして偽装されたマルウェアであると述べています...注意!気をつけて!「Ultracopierは、Windowsエクスプローラー/ファイルエクスプローラーのファイルコピー機能を置き換えるツールとして偽装するマルウェアです。」en.wikipedia.org/wiki/Ultracopier

2
Ultracopierはマルウェアです。使用することはお勧めしません。(en.wikipedia.org/wiki/Ultracopier
アートGertner

4
実際にそのwikiページにリンクされている記事を読むのに時間をかけると、「資金を提供するために、ビットコインマイナー(GPUを100%使用)またはそれなしのバージョンに小さな広告を入れました」無料版。」しかし、それはソフトウェアがダウンロードサイトに明確に記載されていないことについての有効なポイントです。
木梅
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.