Formation Java Performance : mesure et optimisation

Présentation formation JAVA performance

JPG - 21.9 ko

Notre formation JAVA performance vous permettra d’une part de mesurer les performances de vos applications Java/J2ee , d’autre part de mettre en oeuvre des stratégies de tuning / optimisation de vos applications.

Indispensable pour tout administrateur en charge d’applications Java/J2ee stratégiques pour l’entreprise, cette formation permettra aussi aux développeurs d’identifier précisement les causes de problèmes de performance de mettre en oeuvre une stratégie impliquant toutes les étapes du cycle de vie applicatif : architecture, conception, développement, tests, pré-production, production.

Tarif (Euros HT) Audience Pratique Financement Contact Inscription
Inter : 1890
Intra : Nous contacter
Développeurs JAVA
70% Opportunités
financement
07 63 03 11 08 Bulletin inscription

Planning des cours

Mois Janv Fév Mars Avril Mai Juin Juillet Aout Sept Oct Nov Déc
Lieu
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
PARIS
Dates (2j)



21 22

20-21


29-30


12-13

Logiciels utilisés
- Java Development Kit (JDK) 6
- jvisualvm, VisualGC, Mat
- jmap, jhat, jps, jstatd
- Tomcat, Jboss, GlassFish
- Netbeans, Eclipse TPTP

Vous allez apprendre à :

- Mesurer les performances d’une application JAVA / J2EE
- Réaliser l’optimisation de la performance
- Mettre en oeuvre méthodologie de tuning

Programme détaillé cours :

Rappels J2EE
- Architecture et impact sur performance
- Services : JMX, JNDI, JTA, JDBC, Web, EJB
- Livrables : WAR, EAR, Jar Ejb, Jar client, RAR
- Fichiers web.xml, application.xml, ejb-jar.xml, application-client.xml, ra.xml
- Chargeur de classes (ClassLoader)

Introduction Performance Java 
- Définir la performance d’une application
- Service Level Agreement (SLA)
- Critères de performance
- Temps de réponse
- Transactions par secondes
- Difficultés associés à l’optimisation performances

Méthodologie Tuning
- Tuning Matériel
- Tuning Os
- Tuning JVM
- Tuning Serveur d’application
- Tuning Applicatif

Monitoring avec JMX
- Spécification JMX
- Qu’est ce qu’un Mbean ?
- Couche Instrumentation
- Couche Agent (MBean Server)
- Couche Client : connecteurs (RMI, HTTP, SNMP)
- Monitoring local / distant
- Fichier jmxremote.password
- Fichier jmxremote.access
- JMX pour l’administrateur / le développeur
- Ouverture explicite d’un port JMX par l’administrateur
- limiter l’accès distant JMX à une seule machine
- propriété système : -Dcom.sun.management.jmxremote
- propriété système : -Dcom.sun.management.jmxremote.authenticate
- propriété système : -Dcom.sun.management.jmxremote.ssl
- propriété système : -Dcom.sun.management.jmxremote.authenticate
- propriété système : -Dcom.sun.management.jmxremote.password.file
- propriété système : -Dcom.sun.management.jmxremote.access.file
- Adaptation à Tomcat, Jboss, GlassFish
- Création d’un Mbean par le développeur

Outil : jvisualvm
- Jvisualvm dans JDK / en standalone
- Plugins MBeans et VisualGC
- Connection locale / distante
- Auto découverte Processus java (jps)
- Première Analyse rapide : cpu, heap, threads
- Instrumentation : Profiling Mémoire, profiling CPU
- Identifier fuites de mémoire (objets occupant le plus de place)
- Identifier goulots d’étranglement (méthode occupant le plus de cycle cpu)
- Snapshots, Dump (HeapDump, ThreadDump)
- Mise en oeuvre avec JStatd + fichier policy
- fichiers hprof

Mesure & Instrumentation
- Mesure manuelle : System.currentTimeMillis()
- Mesures du Garbage Collector
- -verbosegc , GCViewer, visualGC
- Mesures de temps de d’appels de méthode
- Profiling de création d’objets
- Mesure de l’allocation mémoire (young, old)
- Mesure communication client / serveur
- -Djava.rmi.server.logCalls=true
- CheckList outils performance bas niveau
- Motitoring JMX : comprendre les MBeans
- Jconsole, JVisualVM

Tuning applicatif
- Création d’Objets
- Chaînes (Strings)
- Collections (tableau, vecteurs)
- Boucles, Switch, Recursivité
- Entrées/sorties fichier, réseau
- Multithread
- complexité
- Utilisation Patterns
- Logs

Tuning Serveur d’application
- Tuning Pool de connexion
- Tuning Pool de thread
- Tuning services J2EE (HTTP(S), JDBC, JMS, JPA)

Tuning matériel
- Tuning carte réseau
- Tuning mémoire
- Tuning cpu

Tuning conteneur Web
- Tuning JSP
- Tuning Servlets

Tuning conteneur Ejb
- Tuning EJB

Tuning JVM
- Comprendre le fonctionnement mémoire
- Young, old, PermGen, Survivor space
- Choix -Xmx, -Xms en fonction RAM
- Choix PermSize, MaxPermSize
- Choix -client / -server
- Ratios Young/old
- Paramètres GC
- Simuler et analyser fuites mémoire
- Outil VisualGC
- Exploitation des résultats