Al momento sto eseguendo rsync per 2,2 milioni di file per un totale di 250 GB e questo richiede solo 700.000 file in 6 ore.
Qualcuno conosce uno strumento simile a rsync che può farlo con più thread in modo che vada più veloce?
Al momento sto eseguendo rsync per 2,2 milioni di file per un totale di 250 GB e questo richiede solo 700.000 file in 6 ore.
Qualcuno conosce uno strumento simile a rsync che può farlo con più thread in modo che vada più veloce?
Risposte:
Dubito che la cpu sia il fattore limitante qui. Molto probabilmente sei limitato sia dalla larghezza di banda della rete per il trasferimento sia dall'IO del disco; specialmente la latenza per tutte quelle chiamate stat.
Riesci a scomporre la gerarchia del filesystem in blocchi più piccoli da elaborare in parallelo?
Quali sono i file di origine e cosa li scrive o modifica? Sarebbe possibile inviare le modifiche man mano che avvengono a livello di applicazione?
Se il sottosistema del disco del server ricevente è un array con più dischi, l'esecuzione di più processi rsync può migliorare le prestazioni. Sto eseguendo 3 processi rsync per copiare i file su un server NFS (RAID6 con 6 dischi per gruppo raid) per saturare Gigabit Ethernet.
Questo ragazzo riferisce di un cablaggio di base in pitone che genera più processi rsync http://www.reliam.com/company/featured_geek
Puoi prendere in considerazione il check-out del clone cp multithread per Linux (open source): http://static.usenix.org/event/lisa10/tech/slides/kolano.pdf