Avec Precise/Indepth for J2EE, l’éditeur américain Precise propose une solution de surveillance en temps réel du fonctionnement des composants applicatifs (pages JSP, servlets, EJB ou même échanges JDBC) d’un serveur d’applications Java. L’objectif : mesurer les performances et identifier les éventuels goulets d’étranglement. Le logiciel détermine ainsi pour chaque composant le nombre d’exécutions, le temps processeur consommé, le délai nécessaire à l’affichage d’une page ou le nombre d’utilisateurs simultanés. Precise/Indepth va jusqu’à analyser les statistiques de la heap, (zone mémoire d’une machine virtuelle) et de la stack trace (zone qui contient tous les appels et les processus internes nécessaires à l’exécution d’une commande).
Une installation simple
Afin d’évaluer l’étendue fonctionnelle du logiciel, nous l’avons installé sur un PC Windows NT 4 équipé d’un processeur Pentium III à 750 MHz et doté de 256 Mo de mémoire. Puis nous avons relié cette machine en réseau à un serveur d’applications WebLogic 5.2 de BEA, équipée d’un JDK 1.2. Grâce aux assistants qui guident l’utilisateur, l’installation se déroule sans problème. Precise/Insight envoie par le réseau un fichier exécutable qui opère sur le serveur d’applications. Des boîtes de dialogue demandent ensuite de spécifier la marque du serveur, sa version, celle du JDK (Java Development Kit) utilisé, de façon à ne décompresser que le JavaBean adapté au serveur. Cet agent Java est ensuite chargé dans le noyau du serveur et va signaler sa présence à la JVM (Java Virtual Machine) de façon à être exécuté en même temps que les composants du serveur. Cet ensemble de classes Java ne monopolise ici pas plus de 4 % de la puissance CPU au niveau du serveur d’applications. En fonctionnement, le JavaBean analyse le traitement du pseudo-code Java effectué par la JVM et renvoie les données à Precise/ Indepth placé sur la station de travail. Ce dernier met en forme les informations, puis les sauvegarde dans un référentiel central d’où elles sont publiées sur une console de supervision accessible par le web depuis le serveur HTTP Apache Tomcat, fourni avec le logiciel.
Des statistiques très précises
Precise/Indepth gère ici un historique des données pour retracer le fonctionnement du serveur dans le temps. L’écran d’accueil du logiciel, sobre, voire austère, auquel on accède à partir d’un navigateur récent (Internet Explorer 5 ou postérieur, ou Netscape 6), pré-sente une succession de courbes classées par périodes d’activité. Ces statistiques sont groupées par types de composants. La courbe HTTP Response Time illustre ainsi le fonctionnement des scripts JSP et des servlets utilisés dans la composition d’une page web. Il est possible, en quelques clics, de rentrer dans le détail et d’obtenir un classement des composants les plus gourmands en temps de traitement.Les EJB bénéficient du même mode de présentation, auquel s’ajoute l’historique des appels à la base de données par le biais du pilote JDBC. En cas de piètre performance, Precise/Indepth va jusqu’à afficher le script de la requête litigieuse afin de la soumettre au développeur. Enfin, le logiciel décortique le fonctionnement de la JVM, et notamment l’utilisation du garbage collector, chargé de réallouer des zones mémoire libérées par les classes inutilisées. Ici aussi, des courbes ?” rafraîchies à chaque minute ?” retracent l’historique des exécutions et de leur efficacité. Cet outil de Precise se montre ainsi globalement simple d’emploi et capable d’un très haut niveau de détail. Un logiciel de reporting aurait toutefois été le bienvenu pour analyser la multitude d’informations en provenance de tous les composants.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.