Sto cercando di copiare un batch di file con scp
ma è molto lento. Questo è un esempio con 10 file:
$ time scp cap_* [email protected]:~/dir
cap_20151023T113018_704979707.png 100% 413KB 413.2KB/s 00:00
cap_20151023T113019_999990226.png 100% 413KB 412.6KB/s 00:00
cap_20151023T113020_649251955.png 100% 417KB 416.8KB/s 00:00
cap_20151023T113021_284028464.png 100% 417KB 416.8KB/s 00:00
cap_20151023T113021_927950468.png 100% 413KB 413.0KB/s 00:00
cap_20151023T113022_567641507.png 100% 413KB 413.1KB/s 00:00
cap_20151023T113023_203534753.png 100% 414KB 413.5KB/s 00:00
cap_20151023T113023_855350640.png 100% 412KB 411.7KB/s 00:00
cap_20151023T113024_496387641.png 100% 412KB 412.3KB/s 00:00
cap_20151023T113025_138012848.png 100% 414KB 413.8KB/s 00:00
cap_20151023T113025_778042791.png 100% 413KB 413.4KB/s 00:00
real 0m43.932s
user 0m0.074s
sys 0m0.030s
La cosa strana è che la velocità di trasferimento è di circa 413 KB/s e la dimensione del file è di circa 413 KB, quindi in realtà dovrebbe trasferire un file al secondo, tuttavia impiega circa 4,3 secondi per file.
Qualche idea da dove provenga questo sovraccarico e c'è un modo per renderlo più veloce?
Risposta accettata:
Il commento di @wurtel è probabilmente corretto:c'è molto sovraccarico che stabilisce ogni connessione. Se riesci a risolvere il problema, otterrai trasferimenti più rapidi (e se non puoi, usa semplicemente rsync
di @roaima soluzione alternativa). Ho fatto un esperimento trasferendo file di dimensioni simili (head -c 417K /dev/urandom > foo.1
e fatto alcune copie di quel file) a un host che impiega un po' di tempo per connettersi (HOST4) e uno che risponde molto rapidamente (HOST1):
$ time ssh $HOST1 echo
real 0m0.146s
user 0m0.016s
sys 0m0.008s
$ time scp * $HOST1:
foo.1 100% 417KB 417.0KB/s 00:00
foo.2 100% 417KB 417.0KB/s 00:00
foo.3 100% 417KB 417.0KB/s 00:00
foo.4 100% 417KB 417.0KB/s 00:00
foo.5 100% 417KB 417.0KB/s 00:00
real 0m0.337s
user 0m0.032s
sys 0m0.016s
$ time ssh $HOST4 echo
real 0m1.369s
user 0m0.020s
sys 0m0.016s
$ time scp * $HOST4:
foo.1 100% 417KB 417.0KB/s 00:00
foo.2 100% 417KB 417.0KB/s 00:00
foo.3 100% 417KB 417.0KB/s 00:00
foo.4 100% 417KB 417.0KB/s 00:00
foo.5 100% 417KB 417.0KB/s 00:00
real 0m6.489s
user 0m0.052s
sys 0m0.020s
$