Dépannage des vitesses de réseau - L'enquête séculaire

18

Je cherche de l'aide avec ce que je suis sûr que c'est une question séculaire. Je me suis retrouvé dans une situation de désir de comprendre plus clairement le débit du réseau, mais je n'arrive pas à trouver des informations qui le font "cliquer"

Nous avons quelques serveurs répartis géographiquement, exécutant différentes versions de Windows. En supposant que nous utilisons toujours un hôte (un ordinateur de bureau) comme source, lors de la copie des données de cet hôte vers d'autres serveurs à travers le pays, nous constatons une grande variation de vitesse. Dans certains cas, nous pouvons copier des données à 12 Mo / s de manière cohérente, dans d'autres, nous voyons 0,8 Mo / s. Il convient de noter qu'après avoir testé 8 destinations, nous semblons toujours être à 0,6-0,8 Mo / s ou 11-12 Mo / s. Dans le bâtiment qui nous concerne principalement, nous avons une connexion OC-3 à notre FAI.

Je sais qu'il y a beaucoup de variables en jeu, mais je suppose que j'espérais que les experts ici pourraient aider à répondre à quelques questions de base pour aider à renforcer ma compréhension.

1.) Pour les machines plus anciennes, exécutant Windows XP, le serveur 2003, etc., avec une carte Ethernet 100 Mbps et une latence typique de 72 ms, un son de 0,8 Mo / s est-il raisonnable? Ou pensez-vous que c'est assez lent pour indiquer un problème?

2.) La «vitesse mathématique la plus rapide» classique de «débit = fenêtre TCP / latence» est, dans notre cas, calculée à 0,8 Mo / s (64 Ko / 72 ms). Ma compréhension est que c'est une limite supérieure; que vous ne vous attendez jamais à atteindre (en raison des frais généraux) et encore plus à dépasser cette vitesse. Dans certains cas cependant, nous voyons des vitesses de 12,3 Mo / s. Il existe des accélérateurs Steelhead disséminés sur le réseau, ceux-ci pourraient-ils expliquer un taux de transfert aussi élevé?

3.) Il a été suggéré que l'utilisation de SMB par rapport à SMB2 pourrait expliquer les différences de vitesse. En effet, comme prévu, les captures de paquets montrent que les deux sont utilisés en fonction des versions du système d'exploitation en jeu, comme on pourrait s'y attendre. Je comprends ce qui détermine l'utilisation ou non de SMB2, mais je suis curieux de savoir à quel type de gain de performances vous pouvez vous attendre avec SMB2.

Mon problème semble simplement être un manque d'expérience et, plus important encore, de perspective, en termes de vitesses réseau raisonnables et non raisonnables. Quelqu'un pourrait-il aider à communiquer le contexte / la perspective?

Univ426
la source
les différences de vitesse ne sont pas seulement SMB vs SMB 2. rappelez-vous que dans vista et au-dessus, la pile réseau n'est plus un module complémentaire basé sur * nix et est intégrée dans le système d'exploitation, ce qui permet une latence et des frais généraux beaucoup plus faibles.
Jim B
Merci Jim, c'est bon à savoir. Oui, je sais qu'il y a un milliard de variables en amont et en aval selon l'endroit où vous recherchez dans la pile OSI. Un collègue a proposé que la différence de vitesse pourrait peut-être simplement être une question de «SMB vs SMB2». Je suppose que je suis sceptique quant à SMB2 (.1) qui nous donne une augmentation de 10 fois la vitesse, mais encore une fois, je ne suis pas assez versé dans les arts aracnés pour le savoir;)
Univ426
Grande question! Des mises à jour à ce sujet? Et fwiw, une boîte Windows XP qui partage mais qui n'est pas "connectée" transfère les fichiers plus rapidement que celle avec un utilisateur connecté.
Chris K

Réponses:

4

La formule mathématique à laquelle vous faites référence est en fait le moyen de déterminer les paramètres de taille de fenêtre de transmission les plus efficaces pour TCP, et non la bande passante réelle disponible. TCP utilise un mécanisme appelé fenêtres coulissantes qui permet d'ajuster les vitesses de transmission en fonction des conditions du réseau. L'idée est qu'un émetteur TCP enverra de plus en plus de données sans nécessiter d'acquittement du récepteur. En cas de perte de données, la quantité de données envoyées entre les accusés de réception diminue, ce qui diminue également la bande passante effective.

La formule en question détermine en fait le dimensionnement idéal de cette fenêtre de transmission TCP en fonction de la latence et de la latence aller-retour entre une paire d'hôtes donnée. L'idée est d'avoir une fenêtre de taille telle que la quantité de données «en vol» corresponde à ce que l'on appelle le produit retard de bande passante. Par exemple, si vous avez 50 mégabits par seconde (6,25 mégaoctets) et une latence aller-retour moyenne de 100 ms, vous aurez 6,25 * 0,1 = 625 kilo-octets de données. Ce serait la valeur que TCP négocierait (si elle était configurée correctement). Comme les caractéristiques de latence et de bande passante de vos liens varient, la taille de la fenêtre aussi.

Vous avez besoin d'un outil de gestion de la bande passante comme iperf (gratuit) fonctionnant à la fois sur la source et sur vos différentes destinations. Cela devrait vous donner une idée de la quantité réelle de débit possible (indépendamment des autres applications) tout en fournissant un aperçu de la latence. L'exécution d'un ping étendu entre les hôtes fournira également une idée générale des caractéristiques de latence. Lorsque vous aurez ces données, vous aurez une meilleure idée de ce que vous devriez voir en termes de débit.

BTW - L'utilisation de tout type d'optimiseur LAN comprendra souvent la compression de données, l'optimisation TCP, la mise en cache, etc. Bien que pratique, elle peut masquer la nature des liens sous-jacents. Une fois que vous avez une idée de la bande passante / du retard brut (et de la perte de paquets, potentiellement), vous pouvez regarder de plus près pour vous assurer que vos différents hôtes sont configurés pour tirer le meilleur parti de la bande passante disponible.

rnxrx
la source
Merci pour la grande info rnxrx. Les fenêtres coulissantes utilisées dans TCP ont beaucoup de sens. Dans notre cas, puisque le seul trafic qui nous concerne passe par TCP, je suppose que ma question est fortement axée sur TCP. Nous avons utilisé d'autres méthodes de transfert de données (comme repliweb) et nous avons atteint un débit beaucoup plus élevé (jusqu'à 11 Mo / s). Je n'étais pas au courant du produit de retard de bande passante, c'est super à savoir!
Univ426
2

Essayez "ping -l 8092" ou FTP ou HTTP pour vérifier s'il s'agit d'un problème SMB.

Tout d'abord: quels supports utilisez-vous pour connecter les ordinateurs? Qu'est-ce que nous "100mpbs"? Ethernet? Vous ne pouvez pas l'utiliser pour des ordinateurs "distribués géographiquement", non?

En cas de "vpn sur Internet", les routeurs entre vos ordinateurs peuvent utiliser des liens différents: l'un est rapide, l'autre non. Ils peuvent choisir un lien en fonction de nombreux paramètres.

Veuillez décrire votre réseau.

Cela pourrait également être un problème de MTU: plusieurs liens peuvent avoir des MTU différents.

Il y a
la source
Merci llya. J'ai mis à jour la question pour répondre à la vôtre. Il s'agit d'un réseau Ethernet normal, avec une carte réseau de 100 Mbps dans l'hôte source.
Univ426
Josh, je ne comprends toujours pas: ((Connectez-vous votre PC avec un serveur en utilisant 100BASE Ethernet? Même si vous utilisez 100BASE-LX10 (Ethernet sur deux fibres optiques), vous ne pouvez pas connecter deux ordinateurs "à travers le pays": il a . limite de distance d' environ 10 kilomètres en cas d'Ethernet vous utilisez commutateur ou les ordinateurs se connectent directement et s'il vous plaît me parler de temps d' attente: comment avez - vous « 72 ms » comment avez - vous calculer le ratio Merci (qui?)??
Ilya
Nous allons sur un réseau local local à l'interenet public, à un centre de données, puis au serveur via un intranet d'entreprise. La latence a été déterminée à l'aide de la commande ping. Nous passons par plusieurs commutateurs comme on pourrait s'y attendre. Le commutateur le plus proche a une vitesse de négociation automatique confirmée avec l'hôte de 100 Mbps. J'espère que cela aide.
Univ426
1
nb - la bande passante qui vous préoccupe n'est pas le 100M de votre connexion LAN mais le lien le plus lent entre les points de terminaison. Cela peut être votre lien WAN ou un lien intermédiaire plus lent.
rnxrx
C'est un excellent point, je mettrai à jour la question, mais je sais que nous sommes connectés à notre FAI via un OC-3. Je dois imaginer que tout en amont est d'au moins 100 Mbps, et je sais que l'infrastructure du bâtiment est de 100M ou 1G jusqu'à cette connexion.
Univ426
2

Beaucoup de commentaires et d'utilisateurs ont offert de bons conseils ici. Certains d'entre eux ont été assez proches de ce que je cherchais, mais j'ai également eu la chance de rencontrer un vétéran du réseau de notre entreprise qui a aidé à clarifier les choses. Je pensais que je publierais mes conclusions / compréhensions ici pour le bénéfice des autres. N'hésitez pas à me corriger si l'un de ces problèmes semble inexistant:

1.) Le débit maximal d'une seule session TCP avec une latence de 72 ms et une fenêtre de 64 Ko est d'environ 0,8 Mo / s, ce qui rend cette vitesse raisonnable pour les copies à session unique, à thread unique, comme celles que nous avons effectuées avec robocopy.

2.) Cette différence de vitesse semble résulter de l'efficacité de la méthode de transfert. Dans notre cas, nous utilisions Robocopy et Repliweb. J'ai découvert que robocopy utilise une seule session TCP, tandis que Repliweb peut ouvrir plusieurs sessions pour envoyer des données.

3.) La recherche sur le site Web de Microsoft montre que SMB2 a un gain de performances considérable par rapport à SMB1. Cependant, il y a eu des problèmes dans certains cas dans la façon dont le système d'exploitation négocie le protocole à utiliser, donc il faut être conscient des deux a.) Quels cas SMB2 peut être utilisé, et b.) Si SMB2 est réellement utilisé en fonction de sur les captures réseau.

Actuellement, il semble que Wire-shark puisse déterminer l'utilisation du protocole SMB2.

J'espère que ça aide. Encore une fois, ma compréhension est assez rudimentaire ici, n'hésitez pas à vous développer.

Univ426
la source
1
Mis à part les calculs de retard de bande passante, sachez que SMB2 améliore considérablement les performances sur une liaison à latence plus élevée, car il n'attend pas que le serveur reconnaisse une écriture avant de transférer plus de données. En fait, nous voyons des gains de débit 10x avec SMBv2 sur nos connexions WAN utilisant ROBOCOPY. Considérez également le thread / MT avec robocopy si vous copiez beaucoup de fichiers, il en fait jusqu'à 8 en parallèle par défaut.
rmalayter