J'ai justement un disque dur à copier avant retour SAV.
Par curiosité j'ai copié avec rsync.
C'est une partition C:\ d'un Windows.
Disque source : 3,25" SATA3 500 Go 7200 tr/mn. Partition source en NTFS
Disque cible : 2,5" USB3 850 Go 5400 tr/mn. Partition cible en NTFS
Le tout est censé encaisser largement 100 Mo/s dans un sens comme dans l'autre.
rsync -aHAX /src /dst
Au début iostat indique 250 transactions par seconde sur chaque disque, et un débit de 30 Mo/s (c'est le débit que j'ai toujours vu pour du NTFS ces dernières années. Il y a 10 ans c'était plutôt 15 Mo/s).
Environ 5 minutes plus tard on est à 180 transactions par seconde, et un débit de 15 Mo/s. On remarque que la baisse n'est pas proportionnelle entre le nombre de transactions et le débit.
Vers la fin, 15 ou 20 minutes plus tard, c'est 160 transactions par seconde, et un débit de 14 Mo/s. On peut donc estimer que le ralentissement intervient au bout d'approximativement 5 minutes.
Le processeur est à moins de 10%. La mémoire est libre : 250 Mo pour le système, 2 Go de buffer et 2 Go de cache (pendant la copie Linux utilise le maximum de mémoire pour les accès disques).
Ensuite même chose mais avec le disque destination connecté en SATA.
Le disque source est entre 180 et 250 transactions par seconde, et un débit de 30 Mo/s. Le débit baisse de temps en temps, peut-être lorsqu'il y a beaucoup de petits fichiers car le nombre de transactions par seconde reste à peu près le même.
Le disque destination est entre 0 et 250 transactions par seconde, et un débit entre 0 et 110 Mo/s : ça fonctionne par salves. Le disque source est utilisé en continu, alors que le disque destination est utilisé 2 à 4 secondes, puis rien pendant 5 ou 10 secondes, puis il est réutilisé, etc.
Le débit moyen en lecture sur 1 minute est à peu près le même que celui en écriture.
La lecture plafonne à 30 Mo/s sauf à quelques moments pendant lesquels ça baisse beaucoup.
--> le noyau ne réagit pas de la même manière si on est en USB3 ou en SATA3 ?
Je recommence, disque destination toujours en SATA, mais en le montant avec l'option big_writes : mount -o big_writes /dev/xxx /mnt/dst
Pendant les premières secondes, lecture 800 à 1000 tps et 80 à 110 Mo/s. Ècriture 150 à 200 tps, 100 Mo/s également.
Après vérification (j'ai refait) je constate que c'est lors de la copie des gros fichiers à la racine : hiberfil.sys + pagefile.sys + swapfile.sys
Ensuite en lecture j'ai entre 130 et 600 tps avec un débit de 30 à 110 Mo/s. En écriture j'ai nettement moins de transactions par seconde (150 tps en moyenne) avec un débit moyen identique (forcément).
--> le pilote ntfs-3g n'est manifestement pas optimisé.
Ok, il reste à tester big_writes en USB3 : l'écriture est moins rapide qu'en SATA3 mais plus rapide que sans big_writes, et on est entre 200 et 450 tps en écriture (?!).
J'ai testé en augmentant considérablement le délai de flush du cache disque, ainsi que la taille du cache. Comme je m'y attendais ça n'a rien changé.
J'ai l'impression que ntfs-3g fait beaucoup de sync. Il faudrait tester en ignorant les sync, mais je ne sais pas comment faire.
[^] # Re: transfert
Posté par Kerro . En réponse au message Vitesse de transfert PC vers Disque dur externe (USB 2.0 et 3.0). Évalué à 2.
J'ai justement un disque dur à copier avant retour SAV.
Par curiosité j'ai copié avec rsync.
C'est une partition C:\ d'un Windows.
Disque source : 3,25" SATA3 500 Go 7200 tr/mn. Partition source en NTFS
Disque cible : 2,5" USB3 850 Go 5400 tr/mn. Partition cible en NTFS
Le tout est censé encaisser largement 100 Mo/s dans un sens comme dans l'autre.
rsync -aHAX /src /dst
Au début iostat indique 250 transactions par seconde sur chaque disque, et un débit de 30 Mo/s (c'est le débit que j'ai toujours vu pour du NTFS ces dernières années. Il y a 10 ans c'était plutôt 15 Mo/s).
Environ 5 minutes plus tard on est à 180 transactions par seconde, et un débit de 15 Mo/s. On remarque que la baisse n'est pas proportionnelle entre le nombre de transactions et le débit.
Vers la fin, 15 ou 20 minutes plus tard, c'est 160 transactions par seconde, et un débit de 14 Mo/s. On peut donc estimer que le ralentissement intervient au bout d'approximativement 5 minutes.
Le processeur est à moins de 10%. La mémoire est libre : 250 Mo pour le système, 2 Go de buffer et 2 Go de cache (pendant la copie Linux utilise le maximum de mémoire pour les accès disques).
Ensuite même chose mais avec le disque destination connecté en SATA.
Le disque source est entre 180 et 250 transactions par seconde, et un débit de 30 Mo/s. Le débit baisse de temps en temps, peut-être lorsqu'il y a beaucoup de petits fichiers car le nombre de transactions par seconde reste à peu près le même.
Le disque destination est entre 0 et 250 transactions par seconde, et un débit entre 0 et 110 Mo/s : ça fonctionne par salves. Le disque source est utilisé en continu, alors que le disque destination est utilisé 2 à 4 secondes, puis rien pendant 5 ou 10 secondes, puis il est réutilisé, etc.
Le débit moyen en lecture sur 1 minute est à peu près le même que celui en écriture.
La lecture plafonne à 30 Mo/s sauf à quelques moments pendant lesquels ça baisse beaucoup.
--> le noyau ne réagit pas de la même manière si on est en USB3 ou en SATA3 ?
Je recommence, disque destination toujours en SATA, mais en le montant avec l'option big_writes : mount -o big_writes /dev/xxx /mnt/dst
Pendant les premières secondes, lecture 800 à 1000 tps et 80 à 110 Mo/s. Ècriture 150 à 200 tps, 100 Mo/s également.
Après vérification (j'ai refait) je constate que c'est lors de la copie des gros fichiers à la racine : hiberfil.sys + pagefile.sys + swapfile.sys
Ensuite en lecture j'ai entre 130 et 600 tps avec un débit de 30 à 110 Mo/s. En écriture j'ai nettement moins de transactions par seconde (150 tps en moyenne) avec un débit moyen identique (forcément).
--> le pilote ntfs-3g n'est manifestement pas optimisé.
Ok, il reste à tester big_writes en USB3 : l'écriture est moins rapide qu'en SATA3 mais plus rapide que sans big_writes, et on est entre 200 et 450 tps en écriture (?!).
J'ai testé en augmentant considérablement le délai de flush du cache disque, ainsi que la taille du cache. Comme je m'y attendais ça n'a rien changé.
J'ai l'impression que ntfs-3g fait beaucoup de sync. Il faudrait tester en ignorant les sync, mais je ne sais pas comment faire.