dlaczego WinSCP jest tak wolny?

9

interfejs jest przydatny, ale szybkość przesyłania plików jest dziwnie wolna w porównaniu do pscp lub scp na mojej maszynie wirtualnej na tym samym komputerze z systemem Windows. Dostaję tylko około 17 kb / s, kiedy moja ogólna prędkość połączenia może wzrosnąć do około 1 Mb / s (czego nie widziałem, co mówi mi mój dostawca, że ​​mi dają) i jestem prawie pewien, że nawiązałem połączenie do tego samego komputera przy znacznie wyższych prędkościach wcześniej

Kirt
źródło

Odpowiedzi:

8

Przydatne mogą być często zadawane pytania dotyczące prędkości przesyłania plików na stronie WinSCP, przedstawię podstawy:

Kod SSH WinSCP jest oparty na PuTTY, więc nie można oczekiwać, że przesyłanie plików przy użyciu protokołów SSH będzie szybsze niż PuTTY. Warto więc spróbować przesłać plik bezpośrednio za pomocą PuTTY, aby sprawdzić, czy jest on porównywalny.

Oprócz przepustowości sugerują, że istnieją dwa wspólne czynniki ograniczające ogólną szybkość połączenia dla WinSCP: procesor i opóźnienie połączenia .

procesor

Jest to ważne, ponieważ wszystko, co jest wysyłane, musi być zaszyfrowane na jednym końcu i odszyfrowane na drugim (i potencjalnie również skompresowane, jeśli jest to włączone). Jeśli którakolwiek maszyna działa wystarczająco wolno (lub zdarza się, że pracuje nad innymi rzeczami), ogólna prędkość połączenia będzie musiała zostać zmniejszona, aby procesor mógł nadążyć za procedurami szyfrowania / deszyfrowania / kompresji.

Sugeruje się tutaj użycie mniej intensywnej metody szyfrowania (sugerują, że użycie Blowfishjest zwykle szybsze niż AES), spróbuj wyłączyć kompresję i spróbuj przejść do SSH-1, jeśli używasz SSH-2.

Opóźnienie połączenia

Sugerują wypróbowanie SCP, protokołu zamiast SFTP, ponieważ SCP jest mniej podatny na opóźnienia (i sugerują włączenie kompresji w tym przypadku).

DMA57361
źródło
1
Właśnie zrobiłem test WinSCP vs. psftp (program sftp putty). Przesyłanie pliku 500 megabajtów przez moją domową sieć LAN zajęło <1 minutę za pomocą psftp. WinSCP zajęło około 4 minut.
Dan Pritts,
Oprócz podobnych zachowań jak @DanPritts (45 MiB / s przez łącze gigabitowe przez psftp vs 12-20 MiB / s przez WinSCP), jestem w stanie uzyskać wyższe prędkości z BitVise Tunnelier niż psftp lub WinSCP (52 MiB / s) pomimo tego, że używa algorytmów „wolniejszych” (aes256-ctr, hmac-sha2-256).
kbolino,
1

Sprawdź, czy masz twardy limit w „przeniesieniu”, w „preferencjach / innych preferencjach”. Może się to zdarzyć, jeśli ten komputer był używany / konfigurowany przez kogoś innego. Konfiguracja VM również może mieć wpływ. (Lub węzły pośrednie)

S.gfx
źródło
1

Dla zainteresowania zmieniliśmy z aes na blowfish i zmieniliśmy z 250kb / s na 2mb / s

nasz skrypt winscp.txt

# Automatically abort script on errors
option batch abort
# Disable overwrite confirmations that conflict with the previous
option confirm off
# Connect using a password
open sftp://user@pass@server -rawsettings Compression=1 AgentFwd=1 SshProt=1 Cipher=blowfish,aes,3des,WARN,arcfour,des
# Change remote directory
cd /x
# Change local directory
lcd /y
# Force binary mode transfer
option transfer binary
# synchronize
synchronize remote -criteria=size \x /y
#done
exit

z plikiem wsadowym

"c:\Program Files (x86)\Winscp\winscp" /script:script.txt %1 %2 %3 %4 %5 %6 %7 %8 %9
Nick van Esch
źródło
1

Najlepsze porady podane w FAQ - WINSCP SPEED , PLUS - zaktualizuj WINSCP do najnowszej wersji.

zacytować:

Podczas korzystania z SSH, transfery plików w WinSCP są szyfrowane, a procesor jest intensywny. Blowfish jest zwykle dużo szybszy niż AES (więc spróbuj BLOWFISH). Może to również pomóc, jeśli wyłączysz kompresję, jeśli włączyłeś ją wcześniej.

W przypadku ograniczenia prędkości przez opóźnienie połączenia pomocne może być użycie protokołu SCP zamiast SFTP. Opóźnienie ma mniejszy wpływ na SCP. W takim przypadku pomocne może być włączenie kompresji.

T.Todua
źródło