Sur une connexion gigabit, Teracopy fait 31 Mo / s, mais Windows 8 le fait à ~ 109 Mo par seconde?

13

J'ai eu un avant-goût déconcertant de la mise en réseau Gigabit aujourd'hui, entre mon MacMini 2011 et Windows 8 Pro connecté via Cat.5e au Linksys WRT320N (sportif dd-WRT).

Après m'être assuré que la vitesse de ligne sur les deux systèmes montrait 1 Gbit / s, j'ai procédé à la copie d'un MP4 de 2,4 Go de la Mini vers le bureau Win 8 (partage SMB). Bien que satisfait des 30 à 34 Mo / s que Teracopy montrait (c'était une augmentation appropriée pour moi à partir de 10 Mo / s), j'étais toujours curieux de cette énorme différence de vitesse annoncée et réelle.

2 heures de Google m'ont fait croire qu'il y avait d'autres facteurs qui ont entraîné une diminution de la vitesse, SMB en étant un. Donc, juste pour le faire, j'ai iPerfé les deux systèmes et devinez ce que cela a montré - environ 875 Mbps sur les deux systèmes!

Je suis ensuite tombé sur cette petite information après laquelle j'ai désactivé Teracopy et copié le même fichier via le copieur standard de Windows 8. 109 Mo / s. Cerveaux fondus :)

Quelle est exactement la cause de cela? Et puis-je activer ces vitesses via Teracopy? Je creuse vraiment les fonctionnalités supplémentaires de Teracopy, je les manquerai sûrement maintenant: D

Gaurang
la source
2
La première chose qui me vient à l'esprit est: comment avez-vous copié via la téracopie? Vers / depuis une lettre de lecteur? (qui sérialise les choses et est plus lent) ou vers un chemin UNC?
Hennes
Je viens de partager les dossiers (clic droit> partage> Partager ce dossier, ou équivalent) sur les deux ordinateurs. J'accède à l'ordinateur en réseau en ouvrant simplement "Réseau" dans le volet de gauche dans l'Explorateur et sous OS X, en sélectionnant le nom de l'ordinateur en réseau dans le volet de gauche du Finder. Pour le dire simplement, j'accède aux fichiers du Mac à partir de l'Explorateur dans Win 8, les copie à l'aide de la commande de base Ctrl + C et je les colle localement sur le bureau du PC.
Gaurang
Quels lecteurs utilisez-vous? Deux SSD? Ces chiffres de Windows 8 me semblent étranges.
Apache

Réponses:

16

Sur une connexion gigabit, Teracopy fait 31 Mo / s, mais Windows 8 le fait à ~ 109 Mo par seconde?

Quelle est exactement la cause de cela? Et puis-je activer ces vitesses via Teracopy? Je creuse vraiment les fonctionnalités supplémentaires de Teracopy, je les manquerai sûrement maintenant: D

Deux mots: vérification et cache

Explication technique

Voici la procédure générale pour copier un fichier avec l'Explorateur Windows:

  1. Lire un bloc de données du lecteur source dans la mémoire
  2. Envoyer le morceau via le (s) système (s)
  3. Écrivez le morceau sur le lecteur de destination
  4. Si ce n'est pas encore fait, revenez à l'étape 1

Cela semble simple et assez court. Avec cet algorithme de transfert, chaque octet du fichier n'est traité que deux fois: une lecture, une écriture.

Mais en plus, Windows utilise la mémoire (tout comme le lecteur lui-même) pour mettre en cache certaines données. Ainsi, au lieu d'attendre que le bloc précédent ait fini d'être écrit, puis de lire le bloc suivant, un nouveau bloc peut être lu pendant que le précédent est toujours en cours d'écriture. Évidemment, cela ne peut pas durer éternellement, mais Windows peut utiliser toute la mémoire libre restante en tant que tampon temporaire pour stocker la plupart, sinon la totalité du fichier lu en mémoire.

Vous pouvez voir la mise en cache en action en copiant un gros fichier - ou un dossier contenant beaucoup de fichiers - d'un lecteur à un autre, puis en comparant immédiatement les deux. La comparaison sera beaucoup plus rapide à ce stade que si vous le faites plus tard, car le ou les fichiers sont toujours en mémoire, il ne les lit donc pas réellement à partir du ou des lecteurs.

Étant donné que la mémoire est très rapide et que les vitesses de lecture ont tendance à être un peu plus rapides que les vitesses d'écriture, le taux de transfert final finit par être limité uniquement par la vitesse d'écriture du lecteur de destination.

Teracopy peut faire deux choses qui peuvent ralentir un transfert de fichiers, ce que l'explorateur ne fait pas:

  • Oubliez le cache et lisez directement à partir du lecteur

  • Vérifiez que la destination a été écrite correctement

Contrairement à Explorer qui ne vérifie que les erreurs de base lors du transfert, Teracopy peut réellement vérifier que les données ont été correctement écrites sur le lecteur de destination afin d'éviter la corruption des données qui pourrait se produire en raison de problèmes dans le support de transfert (réseau / câble de lecteur / etc. ) ou le lecteur lui-même (secteur défectueux, etc.) Cela signifie qu'il doit lire le fichier de la destination pour le comparer à l'original.

Selon l'algorithme utilisé et la taille du fichier, la vérification peut être optimisée aussi bas que (mais pas moins de) trois opérations de lecteur pour chaque fichier / bloc de fichier par opposition aux deux de l'Explorateur: lire le fichier à partir de la source, écrire le fichier vers la destination et lisez le fichier depuis la destination.

Regardez ce qui se passe lorsque vous copiez un fichier avec Teracopy (avec un algorithme optimisé pour le disque dur):

  1. Lire un morceau du lecteur source
  2. Hash the chunk read from the source drive
  3. Envoyer le morceau via le (s) système (s)
  4. Écrivez-le sur le lecteur de destination
  5. Effacer les caches
  6. Lisez le morceau à partir du lecteur de destination
  7. Hachez le morceau du lecteur de destination
  8. Comparer les hachages
  9. Déterminer la prochaine étape
    • Si les hachages ne correspondent pas, indiquez l'erreur et invitez l'utilisateur à agir
    • Si les hachages correspondent et ne sont pas terminés, revenez à l'étape 1

Le problème est que si vous mettez en cache les fichiers pendant le transfert, la comparaison devient inutile car vous ne lisez pas les données réelles sur le lecteur de destination, vous lisez la copie mise en cache en mémoire à partir de la source. Par conséquent, pour vérifier correctement, vous devez vider le cache. Cela peut être fait après chaque lecture et écriture (qui est une opération supplémentaire qui finirait par se faire un nombre incalculable de fois pour des fichiers de toute taille significative), ou juste une fois après que le fichier entier a été transféré.

Selon la capture d'écran ci-dessous, TeraCopy effectue une vérification après le transfert des fichiers, pas pendant. Cela signifie qu'il utilise à la place cet algorithme de transfert optimisé CPU / RAM:

  1. Lire un morceau du lecteur source
  2. Envoyer le morceau via le (s) système (s)
  3. Écrivez-le sur le lecteur de destination
  4. Si ce n'est pas encore fait, revenez à l'étape 1
  5. Copie terminée, donc vider les caches et être en cours de vérification
  6. Lire un morceau du lecteur source
  7. Hachez le morceau du lecteur de destination
  8. Lire un morceau du lecteur de destination
  9. Hachez le morceau du lecteur de destination
  10. Comparer les hachages
  11. Déterminer la prochaine étape
    • Si les hachages ne correspondent pas, indiquez l'erreur et invitez l'utilisateur à agir
    • Si les hachages correspondent et ne sont pas terminés, revenez à l'étape 6

Alors que cet algorithme met un peu moins de pression sur le CPU et la RAM, il met également beaucoup plus de pression sur le (s) lecteur (s) car maintenant chaque fichier doit être traité quatre fois: lire le fichier entier depuis la source, l'écrire dans la destination , puis relisez-le à partir de la source, puis à nouveau à partir de la destination.

(Si TeraCopy était optimisé pour les transferts réseau, cela pourrait éviter d'envoyer le fichier entier une deuxième fois pour vérification et d'envoyer uniquement les hachages qui sont beaucoup plus petits, mais cela ne semble pas être le cas actuellement, et les pilotes réseau sont traités de la même manière. comme lecteur local, donc il relit réellement la source.)

Par défaut, TeraCopy ne vérifie ni n'utilise le cache. Ne pas vérifier accélérerait le transfert (ou plus précisément, ne le ralentirait pas ), tandis que ne pas utiliser le cache le ralentirait.

Application

Pour déterminer vos résultats de vitesse spécifiques, vous devez vérifier vos paramètres pour voir si vous les avez modifiés. Ensuite, vous pouvez essayer d'approximer le type de vitesses que vous obtiendriez avec les différents paramètres (sachez qu'ils interagiront probablement, il n'est donc pas simple d'ajouter ou de soustraire).

Cela dit, faisons un calcul superficiel en utilisant vos chiffres:

  • Transfert de fichiers local: 875 Mbps (c.-à-d., Vitesse du lecteur)
  • Vitesse réseau: 1 Gbps = 119,21 Mbps
  • Copier via l'Explorateur Windows: 109 Mo / s
  • Copie via TeraCopy: 34 Mo / s

Dès le départ, nous constatons que le transfert de fichiers d'Explorer maximise presque le débit de votre réseau. Une liaison à 1 Gbit / s équivaut à 1 000 000 000 bits par seconde, ce qui, en unités binaires d' octets , correspond à 119 Mo / s. Explorer affiche 109 Mo / s, et les 10 Mo / s restants (ce qui était assez amusant votre précédent maximum :^Þ ) peuvent facilement être pris en compte par les frais généraux, la charge d'arrière-plan et la fragmentation.

(Étant donné que le taux de transfert est presque égal à la vitesse du réseau, nous pouvons supposer que le transfert de fichiers d'Explorer est unidirectionnel et qu'une seule copie de chaque fichier est envoyée.) Explorer obtient 110 Mo / s pour deux accès aux fichiers par fichier.

Maintenant pour TeraCopy. Il semble que TeraCopy obtienne presque exactement un tiers de la vitesse d'Explorer.

Selon que sa boîte de dialogue des préférences indique avec précision l'algorithme qu'il utilise, TeraCopy pourrait en fait envoyer le fichier source entier deux fois afin de pouvoir vérifier la copie. Tout de suite, cela réduit de moitié le débit. Si le cache est activé, cela réduit également la vitesse car il doit attendre la fin de chaque écriture avant de pouvoir envoyer un nouveau morceau. Lorsqu'il est combiné avec la vérification, il peut le faire tomber encore plus.

Votre taux de transfert de 34 Mo / s semble raisonnable si vous avez activé la vérification et désactivé la mise en cache. Si vous désactivez la vérification et la mise en cache, vous devriez obtenir à peu près la même chose qu'Explorer (vous pouvez toujours obtenir un peu moins ou même un peu plus en fonction de la différence entre le code de transfert de fichiers que TeraCopy utilise et celui qu'Explorer utilise).

Si vous êtes d'humeur à transférer près de 10 Go, vous pouvez également essayer de modifier les paramètres et de refaire le transfert pour chacune des quatre permutations et noter les vitesses que vous obtenez (pour être sûr, commandez-le pour que le cache soit hors course:) V+C+, V+C-, V-C+, V-C-.


Capture d'écran de la boîte de dialogue des préférences de TeraCopy avec les paramètres par défaut

Synetech
la source
1
À votre avis, recommandez-vous, si vous utilisez un SSD pour activer (vérifier) ​​le "Utiliser le cache d'écriture système" si l'on recherche des performances maximales?
Oncle Iroh
1

Je soupçonne que cela est lié au fait que Windows 8 utilise SMB v. 3 et je doute que la téracopie soit compatible avec SMB v.3 et revienne par défaut à SMB 2. Juste une supposition ...

MDT Guy
la source
0

Je ne peux pas vous donner une réponse à 100% à votre problème, mais je peux en ajouter d'autres qui pourraient vous aider.
La raison pour laquelle je suis passé à Teracopy était due à la façon dont Windows doit tout "calculer" avant de faire quoi que ce soit et ce calcul lui-même peut parfois geler l'ensemble du processus. Dans d'autres articles, il a été mentionné que le type de fichier copié importait dans la copie Windows, je ne peux pas dire avec certitude dans Teracopy car je n'ai pas vu cela apparaître. Mais mes propres tentatives m'ont jusqu'à présent laissé moins que ce que vous obtenez de toute façon. Je copie simplement des types de fichiers génériques, pas des fichiers multimédias (c.-à-d. Photo / film).

Mes tests sont passés d'un NAS Seagate 3 To avec un accès NIC GB sur un réseau 100% GB à un système GB. Meilleur cas, 14 Gbps. Le passage de Windows du NAS au système HD a obtenu 12,4 Go / s et a pris un peu plus de temps pour démarrer. Rien n'approchait de vos 30-34Mbps et encore moins quelque chose comme 109Mb / s.

Une partie de cela est certainement due au contrôle de flux du NAS, même sur un réseau GB. Je serais extrêmement heureux si je pouvais obtenir 34 Go / s, plus heureux encore si je pouvais obtenir 109 Go / s. Si vous trouvez un copieur de fichiers plus rapide, veuillez poster! :)

user1376156
la source
1
Je voudrais ajouter que le paramètre d'utilisation du cache d'écriture système lorsqu'il est utilisé semble faire une différence significative dans l'achèvement en temps réel. Plus vite.
user1376156
Comment obtenez-vous 14 Gbps sur le réseau? Même SATA III ne prend pas en charge de telles vitesses.
Mars Ho
0

Cela m'a aidé à résoudre ce problème, entre les cartes réseau des chipsets de la carte mère Intel.

La TOE (TCP Offload Engine) a été introduite dans Windows en 2003, avec des résultats horribles provenant des cartes réseau Broadcom utilisées dans la plupart des serveurs à l'époque, entraînant une corruption des données si vous "déchargiez" la somme de contrôle. Il semble que les fournisseurs de cartes réseau n'aient toujours pas raison, et ce n'est pas seulement Broadcom. Le déchargement du réseau est presque toujours plus lent et apparemment aussi plus sujet aux erreurs que de tout faire dans le logiciel. J'irais dans les paramètres de votre adaptateur et désactiverais tout déchargement matériel de toute sorte.

glugglug
la source
2
Si c'était la cause, alors tout le trafic réseau TCP serait lent. Pas seulement un réseau de teracopies, oui une copie rapide de l'explorateur.
Hennes
0

Auparavant, j'avais un problème identique avec les transferts lents via TeraCopy. Celeron J1800 avec carte LAN intégrée Realtek Gigabit 8111C. Je n'obtenais rien de plus que 35 à 45 mégaoctets par seconde. Assez frustrant!

A fini par être un mauvais pilote de carte LAN.

Windows installé à partir de zéro avec des pilotes OEM. J'ai également fait ce qui suit:

Sous Gestionnaire de périphériques / Carte LAN / Paramètres avancés / Désactivez tout, sauf FLOW CONTROL.

Sous Fonctionnalités Windows, désactivez la compression différentielle à distance.

Maintenant, la vitesse moyenne se situe entre 60 et 70 Mbps

entrez la description de l'image ici

Gi Cakov
la source
-1

J'ai également fait plusieurs tests avec Teracopy 2.3 final et ma Synology Diskstation. En fait, le processus de copie est trop lent. J'ai copié des fichiers avec une vitesse moyenne d'environ 40 Mo / s.

Le programme de copie de fichiers Windows 8 d'origine est plus rapide que Teracopy!

Maintenant, j'essaie actuellement Ultracopier, mes vitesses actuelles sont d'environ 80 Mo / s, beaucoup plus rapides que Teracopy. J'aime Teracopy, mais je pense que Teracopy a un problème de copie réseau.

Comme je copie de nombreux fichiers d'un lecteur réseau à un autre, je dois utiliser le programme de copie le plus rapide que je puisse obtenir, car le processus de copie est toujours trop long.

Michael
la source
1
J'étais sur le point d'essayer Ultracopier ... Et je l'ai recherché sur Google et le wiki déclare qu'il s'agit d'un malware déguisé en remplacement du fichier Windows Explorer ... ATTENTION! IL FAUT SE MÉFIER! "Ultracopier est un malware qui se déguise en outil pour remplacer la fonctionnalité de copie de fichiers de Windows Explorer / File Explorer." en.wikipedia.org/wiki/Ultracopier
2
Ultracopier est un malware - je ne recommande pas de l'utiliser. ( en.wikipedia.org/wiki/Ultracopier )
Art Gertner
4
Si vous prenez réellement le temps de lire l' article lié par cette page wiki, il est révélé: "Pour le financer, j'ai mis un mineur Bitcoin (qui utilise le GPU à 100%), ou une version sans mais avec une petite publicité dans les versions gratuites. " Mais c'est un point valable sur le logiciel qui ne l' indique pas clairement sur son site de téléchargement.
Mokubai