Présentation formation JAVA performance
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 : 1290 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) |
|
|
|
10-11 |
|
12-13 |
|
|
28-29 |
23-24 |
13-14 |
11-12 |
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