なぜSSHに貼り付けるのが非常に遅いのですか?


2

ほとんどの場合、私が合理的に大きなチャンクをSSHターミナルに投稿するたびに、20秒ごとに1000文字のような速度で絶対にクロールされます。時には実質的に停止します。

「かなり大きなチャンク」は大量のデータのセットではなく、5000文字(php、ascii)のスクリプトよりも少ないことがよくあります。

どうしてこれなの?

100%のCPUを使用して、ターゲットサーバーのbashがスラッシングしています。どうしたの?

Tracerouteを編集します。

traceroute to ec2-23-23-251-251.compute-1.amazonaws.com (23.23.251.251), 64 hops max, 52 byte packets
 1  192.168.1.1 (192.168.1.1)  1.704 ms  1.040 ms  0.914 ms
 2  10.240.88.1 (10.240.88.1)  11.722 ms  12.449 ms  12.633 ms
 3  bmly-core-2b-ae4-1332.network.virginmedia.net (80.3.65.233)  10.545 ms  20.922 ms  10.216 ms
 4  brnt-bb-1b-ae6-0.network.virginmedia.net (213.105.159.229)  37.524 ms  13.632 ms  15.232 ms
 5  popl-bb-1a-as7-0.network.virginmedia.net (62.255.81.237)  11.881 ms  50.011 ms  12.091 ms
 6  popl-bb-1b-ae0-0.network.virginmedia.net (213.105.174.230)  15.561 ms  19.908 ms  39.367 ms
 7  tele-ic-5-ae0-0.network.virginmedia.net (213.105.159.117)  18.477 ms  42.429 ms  12.764 ms
 8  equinix01-iad2.amazon.com (206.223.115.68)  162.399 ms  96.645 ms  108.442 ms
 9  72.21.220.51 (72.21.220.51)  92.975 ms
    72.21.220.49 (72.21.220.49)  101.136 ms
    205.251.245.7 (205.251.245.7)  96.280 ms
10  72.21.222.149 (72.21.222.149)  97.333 ms
    72.21.222.141 (72.21.222.141)  104.084 ms  112.991 ms
11  216.182.224.214 (216.182.224.214)  98.459 ms
    216.182.224.207 (216.182.224.207)  105.273 ms
    216.182.224.55 (216.182.224.55)  108.202 ms
12  * * *

1
ホストへの接続タイプは何ですか?tracerouteを実行できますか?
ott--

1
なぜSSH経由でPHPを貼り付けるのですか?
タマラWijsman

これはどのサーバーでも同じですか?
Ƭᴇcʜιᴇ007

EC2上のすべてのサーバーにあります。メインクラスターに1秒未満の驚くべき展開システムがあるため、PHPを貼り付けていますが、それらは断続的に更新が必要ないくつかの雑多なマシンであり、それらをまだ自動化していません。
マックス

回答:


2

これは通常、いっぱいになるバッファです。これを高速道路の交通量と比較することができます。高速道路が設計されているよりも車の数が少ない場合は、すべてうまくいきます。しかし、制限よりも多くの車を運転している場合、高速道路では処理できないため、高速道路の交通は遅くなります。CPUは、バッファの小さな部分を常に空にして充満させているため、単純に高くなり、より多くのサイクルが発生します。100ミリ秒の遅延は、バッファを介してすべてのデータを取得するのに数秒かかるため、すぐに増加します。

SSHはコマンドを実行するために設計されているため、別の方法を使用してこれを達成するか、実際に実行していることを再考することができます。PHPをリモートで編集する必要がある理由(今日では意味がありません)や、送信したばかりのファイルをコピーして貼り付ける理由がわかりません...


設計が不十分なさまざまな小さなバッファーが原因で、このようなスローダウンを購入できますが、CPUをそれほど大量に消費するとは信じられません。これは、rabbitmqを介して1秒あたり何万ものメッセージを無理なく管理できるサーバー(EC2小規模)です。小さいチャンクを繰り返し貼り付けると問題ありませんが、大きなチャンクだけが減速するように見えます。おそらく、sshプロセスからbashシェルへのデータの供給に問題があると思います。
マックス

@Alec:かなり可能です、それはあなたのクライアントにあるかもしれません。どのバッファに問題があるのか​​はわかりません。CPUはサーバー側にあることを示しますが、実際には、sshdとbash間の接続のみが可能性があります。さらに、100%CPUは、CPU全体ではなく、飽和している単一のコアであると思います。そのため、スレッド/コアの速度が低下するだけで、他のことを同時に大幅に進行させることができます。スケジューリングと複数のコアについては素晴らしいことです。1つのプログラムが
手に負えない場合でも
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.