Ssh na zdalnym hoście, ale wydajność terminala jest niska. Symbole, które wpisuję, nie są wyświetlane natychmiast, ale z pewnym opóźnieniem. Czasami dwa symbole są wyświetlane jednocześnie po opóźnieniu.
Ssh na zdalnym hoście, ale wydajność terminala jest niska. Symbole, które wpisuję, nie są wyświetlane natychmiast, ale z pewnym opóźnieniem. Czasami dwa symbole są wyświetlane jednocześnie po opóźnieniu.
Odpowiedzi:
Duże opóźnienia to kolejna przyczyna niskiej wydajności ssh. Bardzo polecam użycie mtr jako lepszego zamiennika traceroute. Powinien być w stanie dać ci pojęcie, gdzie mogą wystąpić problemy z siecią.
Wyłączenie przekazywania X11, jeśli go nie potrzebujesz (ssh -x) i włączenie kompresji (ssh -C) może również przyspieszyć sesję.
Próbowałem zmierzyć wydajność sieci, wkrótce odkryłem, że terminal jest w porządku. Co się stało?
Mamy równoważenie obciążenia między routerem dwóch kanałów internetowych. Czasami kieruje mój ruch ssh przez wan1, a czasem przez wan2. Zaproponowałem, że coś jest nie tak z tylko jednym kanałem. Zmierzyłem więc wydajność sieci za pomocą mtr (świetne narzędzie!) Dla dwóch kanałów osobno.
Tak! wan2 ma 21 przeskoków z 110 ms, a wan1 ma 15 z tylko 21 ms! problemem jest opóźnienie wan2.
Użyj Compression i CompressionLevel z 9. To powinno trochę pomóc. Możesz skonfigurować te parametry w / etc / ssh / ssh_config. Ale jeśli rzeczywista sieć jest bardzo słaba, te sztuczki nie przyniosą wiele dobrego.
Najbardziej oczywistą przyczyną tego zachowania jest łącze, które jest nasycone lub odrzuca pakiety. Ile masz przeskoków ze stacji roboczej na maszynę, na której wysyłasz? Czy przeanalizowałeś traceroute, jeśli dotyczy?
Jeśli używasz OpenSSH na długiej rurze (duża przepustowość + duże opóźnienie), upewnij się, że używasz co najmniej wersji 4.7 po obu stronach, ponieważ zawiera poprawki, dzięki którym OpenSSH używa większego rozmiaru okna tcp.
* The SSH channel window size has been increased, and both ssh(1)
sshd(8) now send window updates more aggressively. These improves
performance on high-BDP (Bandwidth Delay Product) networks.
Może to być ważne, jeśli chcesz wykorzystać połączenie z pełnym potencjałem, ponieważ w przeciwnym razie nadawca może poczekać na zaległości, zanim będzie mógł kontynuować wysyłanie.
Jak już powiedzieli inni, może to wynikać z opóźnień, utraty sieci, powolnego serwera.
Czasem widzisz 2 znaki tego samego typu, ponieważ nowoczesny stos TCP używa algorytmu o nazwie Naggle .
Może to powodować źle skonfigurowany DNS. Serwer zareaguje dobrze po zalogowaniu, a przesyłanie i pobieranie plików będzie dość szybkie, ale logowanie SSH będzie wolne.
Jedną rzeczą, na którą należy spojrzeć, jest po prostu pamięć serwera. Uruchomiłem maszynę Wirtualną Ubuntu z 256 MB pamięci, a SSH był naprawdę powolny. Podwojenie tego do 512 Mb rozwiązało problem.