IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Blocage de ma web-application


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut Blocage de ma web-application
    Bonjour,
    j'utilise une web-app avec servlets/jsp/sessions et tutti quanti sous tomcat 6
    Tout se passe bien mais il arrive (genre tous les 2/3 jours) que le serveur se paralyse, c'est à dire que lorsque j'appelle une servlet quelconque depuis mon navigateur, rien ne se passe coté serveur et le navigateur reste en attente de la réponse.

    En général ce que je fait dans ce cas la c'est un ctrl+C dans la fenetre de Tomcat (lancé par un startup).
    A ce stade:
    - Tout se débloque d'un coup et tous les appels sont résolus immédiatement (je le vois au fichier de log qui se remplis immédiatement)
    - Il arrive aussi que le serveur tomcat se coupe réellement (mais pas toujours). Auquel cas il m'affiche des messages du style "48 processus en attente de fermeture" (je n'ai plus le message complet).

    La prochaine fois que ça recommence je posterai un exemple de log, mais est-ce que ça dit quelque chose à quelqu'un ce probleme?


    Merci!

    PS: je fais du multi-threadé dans les servlets mais à priori les threads semble tous se terminer normalement.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Par défaut
    Salut,

    Vue que tu dis faire du multithread dans des process (en plus du multithread des servlets) ton probleme resemble enormement a du deadlocks.
    Est tu sur de ta gestion de tes threads au niveau de tes locks et leur liberation ?

    ---
    Farid

  3. #3
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Ben à priori il n'y a jamais de deadlocks puisqu'il n'y a rien de synchronized dans mes threads!
    Par contre après réflexion il est possible que certains thread restent bloqués définitivement sur l'appel à un webservice qui ne répond pas, et par conséquent la servlet en question peut ne jamais se terminer.
    Je n'ai malheureusement pas trouvé de moyen de faire un timeout...

    Y-a-t-il moyen de surveiller tout ça (les session ouvertes, les threads et servlet en cours, etc.) ?

    Par ailleurs y-a-t-il une limite de threads sur un tomcat?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Par défaut
    pour le monitoring regarde du cote de http://www.lambdaprobe.org/d/index.htm.
    Je l'ai installe sur 2 tomcat 5.5 et c'est pas trop mal, meme si non mis a jour depuis un moment...

    Pour la limite des threads, oui il y en a une qui se configure normalement dans server.xml. ( a voir pour tomcat6 ???)
    Il y a une pool de thread mise a defaut a 150 ou 175 (je me souviens plus), mais je ne sais pas si ce nombre est le nombre de thread specifique aux connections entrantes, ou celles des connections entrantes+celles que tu peux creer dans tes process.

    ---
    Farid

  5. #5
    Membre Expert
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Par défaut
    Le pool de thread est spécifique aux connexions entrantes. Plus précisément, il y a 1 pool par connecteur.

    Pour monitorer les threans, tu peux utiliser l'outil jconsole, qui est intégré au JDK depuis la version 5.

Discussions similaires

  1. web application index ? web site index ?
    Par santana2006 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 09/05/2006, 21h53
  2. Réponses: 1
    Dernier message: 07/05/2006, 00h26
  3. Réponses: 1
    Dernier message: 05/05/2006, 22h34
  4. blocage de site web avec javascript
    Par aminotma dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/09/2005, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo