私は300mbitの対称光ファイバー回線を使用しており、51MBYTEのtarファイルをホストA(光ファイバー300mbit)からホストB(ギガビットバンド幅を超えるデジタルオーシャンマシン)に転送する必要があります。
どちらの側でも、Niceスピードテストの結果(Aで300mbit、Bで700m)を取得していますが、AからBにscpすると、次のようになります。
assets.tar 100% 51MB 220.3KB/s 03:55
最大速度はわずか220kbitです。
しかし、ホストBからAに移動すると、非常に良い結果が得られます。
assets.tar 100% 51MB 8.4MB/s 00:06 ***REALLY GOOD SPEED***
何が問題になる可能性がありますか?
SCPは、ファイルを簡単に前後にコピーするための非常にシンプルなツールです。それは超高速に設計されておらず、両側に非常に小さなバッファがあります。
パフォーマンスを目指す場合は、sftp
またはrsync
を使用する必要があります。
速度測定について、いくつかの図を描きましょう:
[Host A] --- ??? mbit --- [Host B]
\ /
\ 300 mbit / 700 mbit
\ /
[speedtest server]
2つのホスト間のデータは、速度を測定したスピードテストサーバーを通過する必要がないため(おそらく通過しない)、これらの測定値はあなたのケースには関係ありません。これらの2つのホスト間の速度を測定する場合は、これら2つのホスト間のトラフィックを測定し、それ以外のものは測定しないでください。非対称または別の方法で制限されている行がある可能性があります。
まず、最も馬鹿げたTCPストリームが可能です。プレーンFTP(SFTPまたはFTPSではない)で測定します。何らかの理由でFTPが機能しない場合(ファイアウォールは問題)、netcatを試してください。
FTPは文字通りソケットにバイトをスローします。完全なTCPパケットサイズを使用していて、単一のファイルについて話している限り、TCPをより効率的に使用することはできません。したがって、これは2つのホスト間で何が達成できるかのベンチマークを提供します。
(WAN ACKパケットの待機を回避することにより、TCP)を高速化できるUDPベースのプロトコルがいくつかありますが、これらはいずれも一般的に使用される標準ではありません)。
ただし、FTPは圧縮しないため、特定の種類のデータの場合は時間がかかる場合があります。これは、生のTCPスループットを測定するという目的に適しています。
FTPも遅い/非対称である場合は、これらのマシン間のルートに沿って非対称リンクがある可能性があります。両端でWiresharkスニファを実行し、失われたパケットなどのトレースを確認することで、さらに診断を行うことができます。
FTPが高速で対称的である場合は、他の問題があります。深く掘り下げないと、推測するのは難しく、多くの可能性があります。たとえば、一方のマシンのSSHは圧縮するように構成されていても、もう一方はそうではない場合があります。