Pourquoi est-ce que je vois beaucoup de sockets dans l'état CLOSE_WAIT lorsque le service web cesse de fonctionner?

Mon webservice java en cours d'exécution sur la Jetée tombe après une période de quelques heures et de l'enquête montrent de nombreux sockets dans CLOSE_WAIT état. Alors qu'il fonctionne correctement, il ne semble pas prises en CLOSE_WAIT statut, mais quand ça se passe mal, il y a des charges.

J'ai trouvé ce définition

CLOSE-WAIT: Le local de point final a reçu une demande de fin de connexion et reconnu par exemple, un passif de près, a été réalisée et les locaux en fin de point de besoin de réaliser une active fermer pour quitter cet état.

Avec netstat sur mon serveur je vois une liste de sockets tcp dans CLOSE_WAIT statut, l'adresse locale de mon serveur et l'adresse à l'étranger mon équilibrage de la charge de la machine. Donc je suppose que cela signifie que le client (équilibrage de charge) a mis fin à la connexion à sa fin dans un mauvais chemin, et mon serveur n'est pas correctement fermé la connexion à sa fin.

Mais comment puis-je faire, mon code Java n'a pas affaire à un faible niveau des sockets ?

Ou est l'équilibrage de charge de terminaison de connexion en raison d'un problème causé par quelque chose que mon serveur est fait mal dans le code.

source d'informationauteur Paul Taylor