![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: mars 2008
Messages: 81
|
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 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: juillet 2006
Localisation: Paris
Âge: 37
Messages: 200
|
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 (permalink) |
|
Membre éclairé
![]() Date d'inscription: mai 2008
Messages: 393
|
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 ! |
|
|
|
|
|
#6 (permalink) |
|
Membre du Club
![]() Date d'inscription: mars 2008
Messages: 81
|
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 (permalink) |
|
Membre éclairé
![]() Date d'inscription: mai 2008
Messages: 393
|
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 (permalink) |
|
Membre du Club
![]() Date d'inscription: mars 2008
Messages: 81
|
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 (permalink) |
![]() Date d'inscription: septembre 2007
Âge: 29
Messages: 2 873
|
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%)
__________________
Journaux de développement Apprenez a poser vos questions, si vous voulez que j'y réponde! Pas de Stacktrace, pas de chocolat! Questions techniques en privé lettre morte
|
|
|
|
|
|
#10 (permalink) |
|
Membre du Club
![]() Date d'inscription: mars 2008
Messages: 81
|
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'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 (permalink) | |
|
Membre éclairé
![]() Date d'inscription: mai 2008
Messages: 393
|
Citation:
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 (permalink) |
|
Membre du Club
![]() Date d'inscription: mars 2008
Messages: 81
|
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 ! |
|
|
|
![]() |
![]() |
||
Problème de performances sous Tomcat
|
||
| Outils de la discussion | |
|
|