samedi 27 octobre 2012

Taille de session HTTP







Jusqu'ici pour déterminer la taille d'une session HTTP, j'utilisais Memory Analyzer Tool:



  • Acquisition de heap dump

  • Ouverture de la vue histogramme

  • Recherche de l'implémentation de la session: pour Tomcat c'est org.apache.catalina.session.StandardSession.

  • Clic droit sur la classe : List Objects / with outgoing references:






Et là j'obtiens une vue contenant toutes les sessions et surtout le graal la valeur Retained Heap:








Alors, ça permet d'obtenir l'information mais il faut reconnaître que MAT est assez lent pour parser les dumps, y compris sur mon Core i7 4 coeurs, 8Go, SSD, 48 soupapes, double vanos et pot Polini custom... Donc quand on veut connaître l'impact d'un clic sur la session, c'est pas terrible en terme d'efficacité.


J'ai trouvé un peu plus rapide avec VisualVM:




  • Génération du dump:







  • Ouverture de la console OQL et exécution de la requête 'select rsizeof(s) from org.apache.catalina.session.StandardSession s', rsizeof étant la fonction permettant de calculer la retained size :






On peut utiliser aussi
MessAdmin pour obtenir l'information directement, mais là j'avais pas envie de faire l'installation.