Cosa limita le prestazioni di scp?


13

Ho due macchine Debian Linux connesse tramite 1 Gbit LAN. Posso misurarlo con un trasferimento di file HTTP non elaborato con il wgetquale arriva a circa 100 MB / s in entrambe le direzioni.

Quando uso ora scp, il massimo senza compressione che ottengo è di circa 15 MB / s . Abilitare la compressione con il -Cflag mi dà, a seconda del contenuto, fino a 50 MB / s .

Tuttavia, sembra che ci sia molta larghezza di banda sprecata qui. Non mi sono preoccupato per molto tempo fino a quando non ho dovuto davvero pensare ad alcuni trasferimenti di file di log molto grandi e mi sono reso conto di quanto sia stranamente lento scp. È naturalmente per me da usare scp, anche in ambiente aziendale, perché tutte le infrastrutture sono predisposte per questo.

Cosa limita così tanto le prestazioni di SCP? È legato alla CPU a causa della crittografia? Quando lo uso htopsembra che non utilizzi CPU multicore, solo una delle quattro CPU è al massimo.

C'è un modo per aumentare la produttività? Ho server HTTP e samba disponibili, ma per spostare file tra macchine Linux di solito uso solo SSH, è così che sono cresciuto. Ma questo ora mi fa riflettere, sembra che debba prendere in considerazione altri modi di trasferimento per grandi quantità di dati.

HTTP viene utilizzato solo per applicazioni specifiche in PHP / Java / qualunque cosa e samba viene utilizzato per alcuni motivi speciali di cui abbiamo bisogno di accesso da macchine Windows.


La risposta di JooMing ha funzionato per me in modo favoloso, ma l' -Copzione per la compressione l'ha resa più lenta (21 MB / s anziché 112 MB / s). Quindi, per favore, abbi cura di te -C.
matematica

Risposte:


7

Probabilmente è la crittografia. Puoi provare scp con cifre diverse, ad esempio:

scp -c arcfour src dest

Controlla la pagina di manuale di ssh_config per i cifrari disponibili. RC4 (arcfour) è un codice veloce, ma probabilmente non è sicuro come alcune alternative.


Va notato che l'uso di RC4 non è sicuro e le comunicazioni possono essere interrotte facilmente.
Evan Darwin

6

Parte di essa potrebbe avere a che fare con l'implementazione interna di OpenSSH. Dai un'occhiata a HPN-SSH per una spiegazione decente per un motivo per i colli di bottiglia e patch per OpenSSH che possono risolverlo (se sei disposto a patchare e ricostruire dal sorgente).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.