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

Développement Web en Java Discussion :

Profiler application JEE à distance


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut Profiler application JEE à distance
    Bonjour,


    je suis entrain d'essayer de profiler à distance une appli JEE sur un intranet.
    Que me conseillez-vous : Visual VM ou Yourkit Java Profiler ?

    Si Visual VM, quelle est la manip' à faire pour profiler à distance avec Visual VM ?

    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Merci pour ta réponse !

    J'étais entrain de voir comment utiliser Yourkit car il propose des fonctionnalités plus précises que VisualVM n'a apparemment pas. Est ce que VisualVM permet un suivi des requêtes SQL et les allocation des méthodes ?

    Pour Yourkit la manip' semble moins évidente. J'ai réussi à installer mais je n'arrive pas à voir le PID de l'appli elle n'apparait pas dans la liste...

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    requête SQL : je ne sais pas, peut être.
    allocation de méthode : (tu veux dire la pile d'appels ?) oui
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #5
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    tu peux aussi essayer cet outil :

    http://fr.appdynamics.com/free-appli...monitoring.php
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  6. #6
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    si tu veux monitorer que le SQL, tu peux utilier JDbMonitor qui se place comme un Driver JDBC (en proxy) et collecte tout ce qu'il s'y passe :-)

    http://www.jdbmonitor.com/features.php
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Waou super pour ces infos !

    Non je ne veux pas monitorer que le SQL, il faut que je sache à quoi sont dues les lenteurs de l'appli donc pour ça il me faut un tout en un ça serait mieux

    Je vais voir ce que je peux faire avec appdynamics.
    Après ça j'aviserai, le serveur tourne production donc faut pas que je lui installe n'importe quoi^^

  8. #8
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Tu peux pas avoir un rapport de stats aussi directement sur la base de données ? vois avec ton DBA.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Non justement je lui avais demandé mais les BD tournent sous SQL Server 2000/2005 et aucun outils de profiling n'est intégré contrairement à Oracle

    Bon je viens de regarder tes liens, mais je pense rester sur Yourkit qui reste une bonne alternative.. au moins pendant 15jours d'évaluation
    Je vais essayer d'installer son agent profileur sur le serveur en prod pour que je puisse le suivre depuis ma machine, et je vous tiens au courant

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Bon j'ai installé YourKit, mais quand j'essaie d'attacher son agent à l'application il ne me la trouve pas dans la liste...

  11. #11
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    tu as déclaré l'agent comment ?
    en paramètre du lancement de la JVM ?

    Si oui, comme son nom l'indique, il te faut redémarrer la JVM ... mais comme tu es en prod, je suis pas sûr que puisse ...
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    J'ai suivi cette manip' pour intégrer l'agent à glassfish : http://www.yourkit.com/docs/95/help/...2ee_remote.jsp

    Et celle ci pour attacher l'agent à l'appli : http://www.yourkit.com/docs/95/help/attach_agent.jsp

    Ce n'est pas censé marcher ? C'est vrai que dans la manip' 1 il me modifie le fichier domain.xml de glassfish en rajoutant une ligne YourKit, puis il me dit à la fin "start your server"... Mais je pensais que le simple fait de relancer l'appli allait lui faire relire le domain.xml non ?

    Bref, je n'ai pas moyen de d'attacher l'agent sur une JVM en route ? Dans ce cas je suis un peu coincer là..

  13. #13
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    en modifiant le fichier domain.xml, tu modifies la conf du GlassFish et de sa JVM. seul un redémarrage de GlassFish le prendra en compte.

    tu ne peux pas lancer directement jvisualvm sur le serveur ?
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Non, la version de Java est apparemment trop vieille et du coup VisualVM n'était pas encore intégrée au SDK : la version installée est la version jdk1.6.0_06 et j'ai vu sur le net que VisualVM est native à partir de la version 1.6 update 7 !! La haine !!!

    Il y a pas moyen d'installer VisualVM sans toucher à l'appli qui tourne ? Parce que si je mets à jour Java je serai obligé d’arrêter netbeans et donc GlassFish non ?

  15. #15
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    mais tu peux télécharger VisualVM en standalone, tu sais.
    Et c'est vrai que le JDK à partir d'une certaine version l'inclut directement, mais c'est aussi un outil que tu peux récupérer individuellement.

    http://visualvm.java.net/download.html

    Je l'utilisais déjà sur du JAVA 1.5 donc ...
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Et il n'y aura pas besoin de toucher au serveur qui est en train de tourner ?
    Genre redémarrer Netbeans ou Glassfish, etc..

    Ou alors me reste la solution de lancer le serveur jstatd..

    Selon toi quelle est la manière la plus sûre de procéder, en local ou à distance ? (d'une part pour avoir les meilleurs résultats et d'autre part pour perturber au minimum le serveur)
    Merci !

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Bon alors j'ai lancé jstatd finalement pour y accéder en remote...

    Voilà une capture d'écran de VisualVm avec le serveur en remote :


    Sur le serveur il ne voit que netbeans et GlassFish(com.sun.enterprise.server.PELaunch).
    Mais en local, là où j'ai lancé aussi une appli JEE, il voit apparemment bien l'appli (com.sun.enterprise.glassfish.bootstrap.ASMain)

    Donc dois je en conclure que le "GlassFish" sur le serveur c'est mon application ?

    Je comprends plus rien
    J'arrive pas à m'y retrouver avec toutes ces JVM

  18. #18
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    oui tout à fait.
    C'est GlassFish qui a lancé sa propre JVM.
    Ton appli est dans cette instance !
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  19. #19
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    autre truc, s'il n'est pas installé, installe le plugin GlassFish sur VisualVM, tu auras plein d'infos supplémentaires :

    http://visualvm.java.net/plugins.html
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Ohlalala mais ça veut dire que je l'avais sous les yeux depuis le début avec Yourkit mais je croyais que c'était pas ça !!

    Bon au moins j'aurai appris à monitorer une appli JEE à distance
    Merci beaucoup pour ton aide


    Edit : oui effectivement il y a pleins d'infos qui manquent par rapport à mon GlassFish en local (genre les Threads) je vais voir ça merci

Discussions similaires

  1. [Stratégie] Contrôle d'une application Java à distance
    Par muad'dib dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 05/08/2008, 12h44
  2. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 14h02
  3. [sqlserver] comment appeler une application a distance
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/09/2005, 18h24

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