Forum Linux.général Vitesse de transfert PC vers Disque dur externe (USB 2.0 et 3.0)

Posté par  . Licence CC By‑SA.
Étiquettes :
0
10
jan.
2017

Bonjour à tous,

Ces derniers temps je cherche à optimiser les transferts de données par USB (je sais que par SATA c’est plus rapide) entre un PC et une clé ou un disque dur externe (USB 2.0 ou 3.0).

Sous linux il y a les commandes : cp, scp, rsync, … En copiant 150Go de dépots Ubuntu depuis mon PC vers un disque dur externe de marque Seagate, la commande gcp me disait au début du transfert d’être à 50 Mb/s et à diminué progressivement jusqu’à atteindre les 4 Mb/s.
=>Donc environ 10h pour 150 Go !!!

Sous Windows, les transferts sont à priori nettement plus rapide que ça ce que j’ai constaté sous linux. Est-ce à cause du contenu que j’ai voulu copier (dépots ubuntu de 150 Go) ?

En cherchant un peu, sous linux j’ai trouvé midnight … qui est en ncurse mais surtout ultracopier qui à l’air de faire un petit carton.

Par contre, je n’arrive pas à compiler ultracopier sous linux (Debian) avec QtCreator. Sous windows j’ai réussi à l’installer mais je ne l’ai pas encore testé. Certains se pleignent que ultracopier à joué avec leur carte graphique (peut être la mémoire de la carte graphique, … ?)

J’aimerais avoir votre retour d’expérience sur ultracopier ou d’autres soft de ce type interessant.
Surtout savoir si vous avez eu des soucis de pertes de data ou alors de casse matériel.

En vous souhaitant une très bonne journée.

  • # transfert

    Posté par  . Évalué à -10.

    bonjour à tous

    usb2 est moins rapide que usb3,si un des deux disques est en usb2 ça ralenti
    avec un disque externe si on le branche sur un connecteur usb2 ça ralenti
    ça dépend aussi des vitesses de rotations des disques durs
    des firmwares des disques durs
    de la taille des fichiers transférés sur les disques durs
    du type de partitionnement des disques durs (file system)

    rsync est bien pour faire un miroir de répertoires,mais ses options changent selon les différents formats de partitions

    • [^] # Re: transfert

      Posté par  . Évalué à 1.

      pour le coup, on peut laisser l'USB2 de côté.
      L'USB2 permet en pratique d'arriver à plus de 30MO/s, electro575 mesure a peine 4 MO/s

      Par contre il faut plutôt voir du côté du nombre de fichier, car un dossier de plusieurs millier de fichiers, même sous Windows, il est plus rapide de zipper le dossier, le transférer sur la clef et de le dézipper ensuite.

      Dans le cas des clefs USB (flash) par contre, ça arrive régulièrement d'avoir des clefs qui ne dépassent pas ces vitesses d'écritures.

      Les vrais naviguent en -42

      • [^] # Re: transfert

        Posté par  . Évalué à 2.

        Bonne Remarque, à voir si je .gz avant de copier.

        C'est un depot donc il y en a vraiment beaucoup, je dirais 100 000 peut être.

        • [^] # Re: transfert

          Posté par  . Évalué à 1.

          Ou juste tar, tu n'as peut-être pas besoin de compression.

          Tes données, ce sont des gros ou des petits fichiers (quelques Ko) ? S'il s'agit d'un grand nombre de petits fichiers, ce faible débit n'est pas très surprenant, et la création d'une archive te sera certainement d'une aide précieuse pour accélérer le transfert.

          • [^] # Re: transfert

            Posté par  . Évalué à 0.

            Il y en a des petits et des gros, le tout mélangé en grand nombre.

            Je vais tenter ça ce soir pour voir mais ça m'étonne.

            J'avais tenté avant d'avoir des soucis de debit un rsync je crois. J'ai arête le rsync puis le disque dur externe ne voulant pas se débrancher, je l'ai arraché.

            Je n'ai pas détruit quelque chose en faisant ça? J'ai fait le test d'écriture sur un autre disque dur et le debit est toujours aussi faible donc ça ne vient pas des disques.

            J'aurais flingé le controleur USB de ma carte mere?

            • [^] # données insuffisantes

              Posté par  . Évalué à -10.

              il faudrait indiquer:

              les caractéristiques des disques
              les types de connexions aux disques
              les types de formatages des disques

            • [^] # Re: transfert

              Posté par  . Évalué à 2.

              comme le suggere les tests et les autres posts,
              les debits sont surtout impactés par le type de formatage du disque (USB ou interne, meme combat)

              ainsi, une copie extX vers extX sera souvent plus rapide qu'une copie
              extX vers fat ou vers NTFS
              simplement parce qu'on passe alors par un intermediaire qui est fuse, ce qui ecroule parfois les performances.

              • [^] # Re: transfert

                Posté par  . Évalué à 1.

                C'était 87000 fichiers, donc la compression en tar serait surement utile puisqu'on se mange à chaque fois les controles.

                type ext4 vers NTFS à priori vu qu'il est compatible windows/Linux.

                • [^] # Re: transfert

                  Posté par  . Évalué à 2.

                  type ext4 vers NTFS à priori vu qu'il est compatible windows/Linux.

                  donc via Fuse et c'est souvent lui qui sature au bout d'un certain volume de fichier.

                  hormis de te passer de NTFS (en formatant la clef en ext4 si ca doit uniquement etre utilisé sous linux), je ne vois pas trop ou tu pourras "optimiser" le transfert.

                  • [^] # Re: transfert

                    Posté par  . Évalué à 2.

                    Pour info, j'utilise souvent une connexion USB 3 pour faire une image complète d'un disque-dur avant d'intervenir sur la machine d'un client. Ça passe toujours en débit maxi, aux alentours de 150 Mo/s avec les disques actuels.
                    Pour cela j'utilise « dd », donc sans passer par un système de fichiers.

                    Je ne vois pas ce qui pourrait ralentir une copie via un système de fichiers. L'accès très fréquent aux métadonnées ?
                    Sur une clef USB je suis ok, c'est souvent bien plus lent qu'on l'imagine. Mais avec un disque-dur en USB 3, je ne vois pas.

                    • [^] # Re: transfert

                      Posté par  . Évalué à 2.

                      Pour cela j'utilise « dd », donc sans passer par un système de fichiers.

                      justement, le probleme de lenteur apparait quand on passe par un systeme de fichier,
                      et fuse n'etait pas réputé pour etre performant quand il s'agissait de gerer NTFS par exemple.

                      donc si c'est juste pour du 'backup' une copie/rsync entre 2 supports en extX devrait etre plus rapide.

                      meme deux disques en SATA dans la machine auraient le meme probleme si ca passe par fuse

                      • [^] # Re: transfert

                        Posté par  . É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.

  • # options de montage ?

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Tu peux aussi voir du coté des options de montage, et je pense en particulier à noatime qui devrait permettre de gagner (un peu ?) en efficacité…

  • # pareil chez moi

    Posté par  . Évalué à 2.

    chez moi pareil, de 50 m/s jusqu'a plafonner sur la durée a 4Mo/s, vivi

    du coup j'ai acheté une carte USB3 qui marche du feu de dieu !! je passe toujours de 50Mo/s a 4Mo/s mais en un peu plus longtemps :(

    je copie principalement des gros fichier unique de 1.1 Gb

    après j'ai acheté des clé USB certifié 3.0 et …… pas mieux c'est une jolie exponentielle inverse qui tend vers 4 mo/s, je n'ai rien trouvé sur internet.

    a mon avis, linux ne gere pas mon usb 3.0 il doit y avoir un truc a placer dans /proc pour l'activer

    • [^] # Re: pareil chez moi

      Posté par  . Évalué à 2.

      meme reponse que plus haut,

      regarde en quoi sont formater des clefs/disque dur.
      si c'est du NTFS/FAT, il doit y avoir fuse au milieu,
      et de mon experience, c'est souvent lui qui finit par ralentir.

      donc sauf à formater la clef en quelque chose qui ne passe pas par fuse,
      point de salut ce sera 4Mo/s (36Mbps) vers le peripherique

      • [^] # Re: pareil chez moi

        Posté par  . Évalué à 1.

        Si je ne m'abuse, pas besoin de Fuse pour FAT, c'est directement supporté par le noyau.

        • [^] # Re: pareil chez moi

          Posté par  . Évalué à 1.

          A priori je nage vers 34 Mb/s mais ça descend un peu, c'est effectivement carrement plus rapide de ext4 à ext4.

          Qu'est-ce qui bloque ?

          ext4 vers NTFS alors !
          et ext4 vers FAT ?
          ext4 vers ?

          Comment faire un support compatible linux et windows vu que je suis en dualboot, FAT32 alors ! Mais quel différence majeur entre NTFS et FAT32

  • # Re + transfert

    Posté par  . Évalué à 1. Dernière modification le 11 janvier 2017 à 05:22.

    Bonjour electro575

    Il faut aussi prendre en compte la puce USB 3 <-> Sata III qui est intégrée dans le boîtier dans lequel est le disque dur et qui pourrait limiter la vitesse de transfert si elle n'implémente pas certains protocoles comme par exemple : UASP (USB Attached SCSI Protocol)

    Sans parler d'un boîtier HUB USB 3 intermédiaire qui serait intercalé entre la machine et le boîtier, du cordon de liaison USB 3 qui serait trop long ou/et de mauvaise qualité, et de l'alimentation du boîtier (externe ou par le port USB 3)

    Et bien sûr, le disque dur lui même (fait un test avec un SSD)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.