J'ai un processus Java sur la machine A communiquant avec un Tomcat sur la machine B via TCP. La connexion TCP (juste l'échange syn-syn/ack) prend de l'ordre de 100 ms de manière cohérente, alors qu'une requête ping dure 1 ms (les services sont sur le même réseau local).TCP Connect prend X100 plus long que ping
- Qu'est-ce qui pourrait causer le retard accru dans l'établissement d'une connexion TCP?
- Comment l'optimiser?
Notez que:
- Ce n'est pas encore 3 voies poignée de main, je mesure que le syn/échange syn-ack.
- Le serveur est une machine très puissante et pas du tout chargée.
- La demande de connexion est à une adresse IP, pas un nom d'hôte, donc aucune recherche DNS n'est impliquée. En fait, ce n'est pas pertinent puisque je mesure le temps sinus que le SYN a quitté la machine A.
Avez-vous essayé de vous connecter à d'autres ports sur la même machine? De cette façon, vous pouvez déterminer si c'est la pile réseau ou Tomcat. –
Même si vous utilisez des adresses IP, vous pouvez faire en sorte que le point de terminaison B tente de résoudre l'inverse de l'adresse IP. Est-ce que l'ajout d'un nom pour A dans le DNS local de B (/ etc/hosts) change quelque chose? – diciu
diciu - ce n'est pas comme ça que TCP fonctionne. Un SYN/ACK ne fera pas la résolution DNS. – ripper234