2009-09-22 5 views
2

J'ai une application en cours d'exécution sur Apache Tomcat 5.5 sur une machine virtuelle Win2k3. L'application sert de XML pour être consommé par certains appareils de téléphonie dans le cadre de notre infrastructure IVR. L'application, à son tour, reçoit ses informations d'une poignée de services SOAP. Ce matin, les services SOAP arrivaient par intermittence, causant toutes sortes d'exceptions. Une fois que ceux-ci se sont arrêtés, j'ai remarqué que notre application fonctionnait encore très lentement, en ce sens qu'il fallait beaucoup de temps pour rendre et livrer des pages. Cette lenteur a été remarquée à la fois sur les appareils qui consomment la sortie Tomcat, et à partir d'un simple test de demande de documents statiques à partir de mon navigateur Web.java.net.SocketException: Abandon de la connexion causée par le logiciel: échec de la récupération; Causes et remèdes?

Redémarrage Tomcat a immédiatement résolu le problème.

Cracking ouvrir le journal de localhost, je vois une tonne de ces erreurs, jusqu'à jusqu'à ce que je remis en marche Tomcat:

WARNING: Exception thrown whilst processing POSTed parameters 
java.net.SocketException: Software caused connection abort: recv failed 

Après un grand de recherche sur Google, ma théorie de travail est que la question SOAP fait que mes utilisateurs obtenir des erreurs, ce qui les a amenés à faire plus de requêtes, ce qui a augmenté la charge sur l'application. Cela a provoqué l'épuisement des sockets disponibles pour gérer les demandes entrantes. Donc, voici mon dilemme:
1. Est-ce une hypothèse valide, ou suis-je juste dans la tête avec HTTP et Tomcat?
2. S'il s'agit d'une hypothèse valide, existe-t-il un moyen d'augmenter la taille de la "file d'attente de socket", de sorte que cela ne se produise plus dans le futur?

Merci!
IVR Avenger

+0

duplication possible de [Motifs officiels pour "Abandon de la connexion causée par le logiciel: erreur d'écriture de la socket"] (http://stackoverflow.com/questions/2126607/reasons-reason-for-software-caused-connection-abort-socket- write-error) – EJP

Répondre

0

Avez-vous vérifié la performance de la JVM? J'ai observé un comportement similaire lorsqu'un site était à court de mémoire.

En ce qui concerne le nombre de connexions disponibles - vous pouvez ajuster cela dans tomcat conf/server.xml - cependant, par défaut, il est 150 (c'est pour tomcat 6.0 - pas sûr pour tomcat 5.5).

+0

Je ne sais pas. Si cela se reproduit, je vérifierai toutes les statistiques Tomcat et JVM avant de redémarrer. Merci pour info sur les connexions! –

Questions connexes