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 :

Problème de performances sous Tomcat


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 39
    Points
    39
    Par défaut Problème de performances sous Tomcat
    Bonjour,

    J'ai mis en place une application J2EE que j'ai livré aux utilisateurs. Ces derniers me remontent régulièrement des problèmes de lenteurs d'exécution de l'application. Je dois donc trouver une solution à ce problème !

    Je vous demande donc de m'y aider en m'indiquant qlq pistes à suivre ou les causes classiques qui pourraient être la cause de ce problème.

    Je vous remécie d'avance !

  2. #2
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 632
    Points : 405
    Points
    405
    Par défaut
    tu utilises quel framework ?
    tomcat notammant la version 6 est tres bien, c'est peut être le pc qu'est lent.
    Utilise tu des requette sql, hibernate, jpa ???
    Tu pourrais en dire plus. Merci et à plus.

  3. #3
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Oui il y a beaucoup de causes possibles qui rendent une application peu performante, et seul un vrai audit te permettra de les trouver. Dans les gros trucs à voir :

    Infrastructure : un petit monitoring des ressources pour vérifier entre autres : le CPU, la charge réseau, l'utilisation mémoire

    JVM : monitoring de l'activité du garbage collector

    Application : le nombre de méthodes synchronized (sans rire, j'ai vu une appli une fois ou un traitement utilisé partout était synchronisé pour rien, on a fait x4 sur les perfs en une ligne de code), les i/o en général (fichiers, base de données) pour vérifier la taille des flux (est-ce que les logs sont en debug par exemple, générer des Mo de log est très très couteux), le coding devra être vu plus tard.

    BDD : si il y en a une, le serveur est-il bien configuré, un petit monitoring de l'activité aidera, les index sont-ils présents .... La taille du pool de connexion BDD dans l'appli est-il suffisamment grand ? ...

    Au final, une petite analyse avec un profiler permettra de traquer les bouts de code chronophages et de déterminer au mieux si c'est l'activité BDD qui pèche, ou seulement le CPU de la machine !

    ==> Oui c'est un sacré boulot !

  4. #4
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 632
    Points : 405
    Points
    405
    Par défaut
    re djsnipe

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Peut être commencer par identifier le type de requête et mettre en place des outils de suivi des performances pour savoir dans quelle direction partir.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Je vous remércie tous pour vos réponse.

    Mon appli est construite selon le model MVC 1 (JSP & Servlet + qlqs classes métiers), il n'y a pas de mapping O/R, une seule classe se charge de tous les accès BD et elle contient ttes les requêtes SQL utilisées.

    Le SGBD utilisé est MYSQL avec presque aucune configuration (sauf le pool=25).

    Peut-on déjà identifier qlqs causes à partir de ces infos?

    Merci d'avance !

  7. #7
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    On peut identifier des causes possibles, mais pas en être sur.
    Vérifie le code d'accès à la BDD, l'utilisation d'un pool de connexions ... mais au final, si ton appli tourne sur une machine avec un CPU déjà surchargé par plein d'autres choses, ton code n'est pas à incriminer.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 39
    Points
    39
    Par défaut
    Merci encore,

    Très bien donc, j'essaierai de faire une petite analyse de ces différents paramètres pour bien identifier la sources des problèmes.

    Une dernière question, que pensez vous de Tomcat coté performance, d'autres serveurs d'applications sont-ils plus performants?

    merci d'avance !

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tomcat n'ayant qu'un role très minim à jouer (recevoir la requete, la dispatcher), à moins d'avoir besoin de traiter plusieurs miliers de requetes à la seconde, il y a peu de chance qu'il influence ta webapp (genre cout de tomcat dans chaque requte doit probalbement etre inférieur à 1%)

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 39
    Points
    39
    Par défaut
    Merci pour la reponse !

    Je vois, personnellement je croyais que, le serveur d'application, ayant pour role (entre autre) d'instancier les classes de l'application (servlet, classes metiers ...) pouvait jouer un rôle dans l'amélioration ou la déterioration de la performance d'une application.

    Il semblerait que ce n'est pas le cas j'écarte donc cette piste.

    j'essaierai de voir du coté de mon code, peut être que le problème y réside, j'envisagerai probablement de passer ç une architecture plus modulaire (MVC2) et d'utiliser le mapping O/R (Hibernate). Le problème c'est que je n'ai pas une idée claire sur les améliorations que de telles modifs pourraient apporter.

    Pour ce qui est des capacités du serveur d'hebergement, il est dans les normes (pentium III; 1GHz, 1Go ...)

  11. #11
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par mrjeronimo Voir le message
    Pour ce qui est des capacités du serveur d'hebergement, il est dans les normes (pentium III; 1GHz, 1Go ...)
    Serveur dédié ? dédié à cette application ? Suffisamment taillé compte tenu de l'application et de son nombre d'utilisateurs ?
    Non vraiment, sans faire des tests de performance et en monitorant les différents indicateurs (CPU, ....) tu ne pourras pas savoir d'où vient le problème.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Points : 39
    Points
    39
    Par défaut
    tout à fait,

    je commencerai donc par une analyse avec monitoring de mon appli afin de détecter la source exact des problèmes, avn de me lancer dans la recherche de la solution.

    Merci bcp pr votre implication !

Discussions similaires

  1. Problème de performances sous SQL Server 2000
    Par Shuret dans le forum MS SQL Server
    Réponses: 22
    Dernier message: 22/10/2008, 14h09
  2. problème de déploiement sous tomcat
    Par leprofmelo dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 11/06/2008, 15h11
  3. Problème d'exécution sous tomcat
    Par mehdiing dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 25/02/2008, 23h03
  4. Problème de perf sous Tomcat 5.5
    Par gamodio dans le forum Tomcat et TomEE
    Réponses: 14
    Dernier message: 18/07/2006, 11h48
  5. [ Tomcat ] Problème de déploiement sous tomcat
    Par Seb78 dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 28/10/2004, 11h35

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