[Linux] Acceleration de transferts
Antoine Delaporte
adlp@::1
Jeu 10 Juil 10:53:41 CEST 2025
Bon, juste pour partager (et faire un peu d'animation, je le reconnais :) )
J'ai 5 disques dur USB à préparer avant leur expédition.
Il s'agit de disque dur de backup externalisés, je synchronise donc
régulièrement le données dessus, afin que le jour de leur départ,
il y ai un différentiel minimal.
Mon 1er script avait simplement été une boucle for qui lançait un
rsync sur les 5 disques...
Avant-hier, j'ai pris le temps de modifier mon script, c'est
maintenant un Makefile qui parallélise les 5 rsync.
Le résultat était attendu, mais pas dans ces extrêmes là (d'où
mon partage).
Comme vous verrez... avec la parallélisation on va ~2,5 fois plus
vite... j'aurais compris de gagner 20%, mais là !!! en plus, on
reste sûr de l'usb...
Bon plusieurs points :
* Je suis très surpris de ces résultats, mais bon, ils sont factuels
(horodatage des mails)
* Ok il y a le cache disque qui est là
* Je n'aime toujours pas les vitesses annoncées par rsync :-D
* Je vous mets quelques rapports de transfert, je reste un peu surpris
Voici quelques retour de transfert sur les mêmes tranches horaires :
(j'ai encore 10j a regarder ces relevés :) )
Durée size v reele v.rsync moy
for 15 10,9 12 66
for 13 9,3 12 63
for 4 3,8 16 76
for 4 3,6 15 72
for 4 3,6 15 70
for 6 4,6 13 63
make 2 4,2 35 27
make 8 17,7 37 28
1ere colonne : techno
2nd colonne : Durée estimée (début du cron, fin du cron)
3eme colonne : Taille des données transférée
4eme colonne : Vitesse réelle (taille/temps)
5eme colonne : moyenne des vitesse annoncée par rsync :D
Et maintenant le script en make :
======================8<-----------------------------------
#!/usr/bin/make -f
DISK=sdb sdc sdd sde sdf
MAKEFILE_JUSTNAME := $(firstword $(MAKEFILE_LIST))
MAKEFILE_COMPLETE := $(MAKEFILE_JUSTNAME)
.DEFAULT_GOAL := runThem
allrsync: ${DISK}
sd%:
rsync --delete-before -av /mnt/borg00/ /mnt/poc/$@1/bkp/
poll:
@make -f ${MAKEFILE_COMPLETE} allrsync -j 5
runThem: poll
======================8<-----------------------------------
--
Plus d'informations sur la liste de diffusion linux