Etude de cas – Latence réseau dans un LAN Fibre
L’algorithme de Nagle a été inventé pour améliorer l’efficacité du protocole TCP lors de l’échange de paquets à charge utile faible (payload). C’est par exemple le cas de Telnet qui envoie chaque caractère tapé en temps réel. Ainsi pour éviter une congestion du réseau inutile, le mécanisme de Nagle va utiliser une mémoire tampon (buffer) […]

L’algorithme de Nagle a été inventé pouraméliorer l’efficacité du protocole TCPlors de l’échange de paquets à charge utile faible (payload). C’est par exemple le cas de Telnet qui envoie chaque caractère tapé en temps réel.
Ainsi pour éviter une congestion du réseau inutile, le mécanisme de Nagle va utiliser unemémoire tampon(buffer) pourstocker les requêtesreçues dans la limite de200 ms. Après quoi la réponse sera transmise. Il en résulte une latence réseau induite qui n’a plus lieu d’être en 2017 tant les bandes passantes et la qualité des interconnexions se sont améliorées. Pour illustration, la latence moyenne d’une liaison ADSL « grand public » est de 30-40 msà destination de l’Europe.
Particulièrement connu dans le monde du jeu vidéo en ligne,l’algorithme de Nagle est régulièrement critiqué pour les dégradations de performance qu’il génère.
Contexte
Les utilisateurs constatent des lenteurs lors de l’accès à leur application principale. L’architecture de cette application est la suivante :
Cas d’usage
Pour rappel,la latence réseau– ouRTT(Round Trip Time) – est unemétrique de performance purement réseauet ne reflète en aucun cas un comportement applicatif. De plus, sur un LAN fibré, le RTT ne doit pas dépasser la milliseconde.
LeSRT(Service Response Time) est letemps de réponse nécessaireà un serveur pour répondre à une requête cliente. Il est représentatif d’une anomalie applicative.
AvecPerformance Vision, graffons la performance des échanges entre les frontaux et la base de données, situés sur un même LAN relié en fibre :
On constate rapidement :
Unelatence réseau serveur (base de données) de 500 us en moyenne ;
Une latence réseau client (frontaux) de 4 ms en moyenne ;
Une performance de traitement du serveur (base de données) bonne et stable.
La latence réseau des frontaux est doncmauvaise.
Analysons maintenant de façon détaillée les paquets à l’aide de Wireshark :
En regardant d’encore plus près, on constate clairement les199 ms d’acquittement réseau:
Les frontaux dégradent donc les performances globales de l’application en appliquant inutilement l’algorithme de Nagle.
Solutions
En désactivant le TCPNoDelay dans le système d’exploitations des frontaux applicatifs, il apparait nettement que la latence réseau disparait directement :
Par ailleurs, les accès Web des clientsgagnent 20 à 50% de temps de réponse selon les requêtes.
Conclusion
Lescomportements des systèmes d’exploitationsur TCP ne sont pas à négliger car il peuventinfluer fortement sur les performances globalesd’une application. Par ailleurs, sans unesolution de visibilité réseau, il est très compliqué de détecter ce type d’anomalie car ces microflow sont perdus dans la masse.
Autres articles
Toutes les ressources
Observabilité à grande échelle : du cadrage à l’autonomie des équipes
Du cadrage à l’amélioration continue en RUN, nos retours de terrain pour déployer l’observabilité et faire progresser l’autonomie des équipes.
LireDiagnostiquer les incidents Microsoft Teams en quelques minutes : testez MS Teams Observability dans Dynatrace (mode démo)
Microsoft Teams est devenu un outil critique pour les entreprises. Réunions stratégiques, collaboration quotidienne, téléphonie, centres de contacts : quand Teams fonctionne mal, l’impact est immédiat pour les utilisateurs… et pour les équipes IT. Le problème, ce n’est pas l’absence de données.
Lire
Suivi du centre de contacts pour Microsoft Teams : les cas d’usage essentiels pour comprendre et améliorer vos appels
Un guide pour clarifier l’usage, équilibrer les flux et diagnostiquer les appels Teams.
Lire