Dernièrement, nous avons pris conscience d’un problème de connexion TCP qui se limitait principalement aux utilisateurs de Mac et Linux qui naviguaient sur nos sites Web.
Du point de vue de l'utilisateur, il se présente comme un temps de connexion très long avec nos sites Web (> 11 secondes).
Nous avons réussi à retrouver la signature technique de ce problème, mais nous ne savons pas pourquoi cela se produit ni comment le résoudre.
En gros, ce qui se passe, c'est que la machine du client envoie le paquet SYN pour établir la connexion TCP et que le serveur Web le reçoit, mais ne répond pas avec le paquet SYN / ACK. Une fois que le client a envoyé de nombreux paquets SYN, le serveur répond finalement avec un paquet SYN / ACK et tout va bien pour le reste de la connexion.
Et, bien sûr, la solution au problème: il est intermittent et ne se produit pas tout le temps (bien que cela se produise entre 10 et 30% du temps)
Nous utilisons Fedora 12 Linux comme système d’exploitation et Nginx comme serveur Web.
Capture d'écran de Wireshark
Mise à jour:
La désactivation de la mise à l'échelle de la fenêtre sur le client a permis d'éviter le problème. Maintenant, j'ai juste besoin d'une résolution côté serveur (nous ne pouvons pas obliger tous les clients à le faire) :)
Mise à jour finale:
La solution consistait à désactiver la mise à l'échelle TCP et la mise à l'échelle des fenêtres et les horodatages TCP sur nos serveurs accessibles au public.