Por que colar em SSH é tão dolorosamente lento?

2

Na maior parte do tempo, sempre que eu postar pedaços razoavelmente grandes em um terminal SSH, ele irá absolutamente rastreá-lo a uma taxa de algo como 1000 caracteres a cada 20 segundos; às vezes praticamente parando.

"Blocos razoavelmente grandes" não é um conjunto de dados em massa, geralmente é inferior a um script de 5000 caracteres (php, ascii).

Por que isso?

Eu vejo bash no servidor de destino está debatendo, usando 100% cpu. O que está acontecendo?

Editar 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  * * *
    
por Max 23.09.2012 / 17:57

1 resposta

2

Isso geralmente é um buffer que é preenchido. Você pode comparar isso com o tráfego na rodovia, se houver menos carros do que a rodovia foi projetada, tudo vai bem. Mas se houver mais carros do que o limite, o tráfego na rodovia diminui porque a rodovia não aguenta. A CPU simplesmente fica mais alta porque está constantemente esvaziando e preenchendo pequenas partes do buffer, causando muito mais ciclos. A latência de 100 ms pode adicionar rapidamente vários segundos para obter todos os dados no buffer.

O SSH é projetado para executar comandos, então você pode querer usar outra maneira de realizar isso ou tentar repensar o que exatamente você está fazendo. Eu não vejo por que você deveria estar remotamente editando o PHP (que não faz sentido hoje em dia) ou porque você copiaria um arquivo quando você pode simplesmente enviá-lo ...

    
por 23.09.2012 / 18:37