Programme du cours
Introduction
-
La démarche d’optimisation
-
Les objectifs de performance
-
L’importance des tests et de leur environnement
Outils d’inspection et de monitoring
-
Profiling vs monitoring
-
Utiliser JMX pour le monitoring
-
Les protocoles et connecteurs JMX
-
Comment développer un MBean ?
-
Les outils du JDK
-
Un focus sur Visual VM
-
Quelques outils tiers
Optimisation mémoire
-
La structure de la mémoire Java
-
Le paramétrage de la mémoire
-
Le(s) Garbage Collector(s)
-
Comprendre les erreurs OutOfMemoryError
-
Générer et analyser un Heap Dump
-
Le profiling mémoire
Optimisation des threads
-
Lire et comprendre une Stacktrace
-
Générer et analyser un Thread Dump
-
Suivre la consommation CPU par thread
-
Détecter un deadlock
Spécificités Tomcat
-
Le réglage des pools
-
Le pool de connexions (Datasources)
-
Les connecteurs Coyote
-
Développer et configurer des valves et listeners
Atelier de synthèse