SSH帯域幅制限を削除する方法は?

SSH帯域幅制限を削除する方法は?

私はArchlinuxを実行するように設定したサーバーに触れています。 scpまたはrsyncを使用してサーバーからファイルを検索しようとすると、ダウンロード速度が約1.1MiB / sに制限され、異常に低いことがわかりました。ファイルを送信するときの速度は120MiB / sです。問題は発生しませんでした。 (httpを使用して70MiB / sの速度でファイルをダウンロードすることもできました)

その後、次のような実験をしました。

LOCAL: $ ssh login@host
REMOTE: $ cat HUGE_FILE

結果:端末にファイルの内容が表示され、ダウンロード速度は約15MiB / sです。

LOCAL: $ ssh login@host "cat HUGE_FILE"

結果:ファイルの内容は端末にも表示されますが、ダウンロード速度は1.1MiB / sにすぎません。

(編集:ssh -t login@host "cat HUGE_FILE"同じ結果を提供します)

単一のコマンドを直接実行する場合、特定の制限があるようですが、通常のセッションではそうではありません。できるだけ懸命に検索しましたが、そのような制限を有効にする構成ファイルが見つかりませんでした。

したがって、誰もがこの問題の原因と解決策について提案がある場合は非常に感謝します。

答え1

確認するhttps://stackoverflow.com/questions/20244585/how-does-scp-differ-from-rsync

  • まず、ボラティリティを排除してください。
    • test.tarRAMより25%小さい単純なファイルを作成します。たとえば、16 GB の RAM がある場合は、~2 GB の test.tar を作成します。個々のファイルが小さすぎると、コピー時間が長くなり、信頼できる結果を提供できません。大きすぎるファイルはRAMに不足し、ディスクI / Oが適切になります。これは良くありません。
    • 使用scp
    • ディスクからの読み取りに時間がかかるため、特にクリーンブート後の最初のコピーの速度結果を使用しないでください。ディスクキャッシュが実行されており、キャッシュがtest.tarRAMにあることを確認するために3つ以上のコピーを作成します。
    • 仕事を単純にしてください...私が設定したサーバーでプレイしています。test.tar...それで、適切なサイズの単一ファイルを作成し、報告された速度のみをscp実行して使用します。
    • あなたはmount -t tmpfs -o size=8g tmpfs /ramdisk一つ作ることができますメモリディスクそれからtest.tarそこにあなたのものを置き、そこからコピーします。メモリディスクディスクI / O位置の問題を解決するのに役立ちます。
    • Linuxをランレベル3に設定することもできます。マルチユーザーターゲットCPUが他のタスクに集中するのではなく、忙しい場所で実行しているバックグラウンドプロセスを減らしますscp。しかし、ランレベル5ではこの問題は発生しませんでした。グラフィックターゲット少なくともRHEL/CentOS/Rockyの場合。
  • 本質的なSSH帯域幅制限はありません。現代このハードウェアレベルの暗号化処理を担当する命令セットとCPU(これは忘れてしまいました)を使用すると、暗号化のオーバーヘッドがほとんどなく、コピー速度に影響を与えませんscp
  • /etc/ssh/sshd_configに基づいてCiphersファイルを調整することができ、Macsコピー速度にかなりの違いがあることがわかりましたが、scpこれは200gbps InfineBand(RHEL 7.9の400 MB / s対700 MB / sおよび1.0 GB / s)で観察されました。 1Gbpsの有線LANでは違いが感じられないようです。 RHEL 8.9ではもう存在しないことがわかりましたが、Ciphers今はそれを適用する別の方法があると思います。MACssshd_config
  • あなたはMiB/sその文脈を理解する必要はないと述べました。私が知っているのは、ウィンドウの下部にあるscpレポートを使用し、MB/sSambaを使用すると、Windows 10のポップアップMB/sに有線1gbps LAN / WANでのコピー速度が表示されることです。私の考えでは、112-113MB/s程度は絶対に得られません。 1gbps = 1000mbit/s / バイトあたり8ビット = 最大125MB/s、これによりオーバーヘッドが10%減少します = ~112MB/s。
  • 転送速度が一定の112 MB /秒を下回るにはいくつかの理由があります(単一の400 GB以上のtarファイルでX分かかりました)。これは、768GB RAMとエンタープライズクラスのSSDを搭載したサーバーでした。ハードウェアによって状況が明らかに異なる場合があります。
    • 使用しているすべてのハードウェアを指定する必要があります。これにより、伝送速度が遅い理由が明らかになる可能性があります。

そして…設定したArch Linuxサーバーについては言及しましたが、他のサーバーについては言及しませんでした。仕える人過去と乗り換えたい場所/目的地。したがって、転送がルータ、ISP、インターネットを介して行われている場合、おそらくボトルネックが発生する場所です。 2番目のサーバーを直接設定し、cat5eまたはcat6ケーブルを介して直接接続するか、単純な1gbps $ 10有線スイッチ(ルーターではない)を使用する必要があります。

関連情報