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
Réponses:
Deux mots: vérification et cache
Explication technique
Voici la procédure générale pour copier un fichier avec l'Explorateur Windows:
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):
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:
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:
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-
.la source
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 ...
la source
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! :)
la source
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.
la source
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
la source
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.
la source