Archive pour juillet 2012

Découvrir et isoler une fuite mémoire java – part 1

Difficile lorsqu'on se retrouve dos au mur face à des problématiques de performance qui poussent la réflexion plus loin que des simples allocations de ressources.

J'insiste comme à chacun de mes discours liés de près à la performance, pour bien rappeler que chaque problème a une ou des origines, et ne représente pas un caractère aléatoire voire para-normal comme certains pourraient s'en convaincre !

Enfin,  une solution devra et sera trouvée pour chaque problème.

Dans le cas ci-dessous, je vais vous détailler un retour d'expérience chez l'un de nos gros clients dont l'architecture JEE nécessitaient systématiquement des redémarrages de serveurs pour palier à des fuites mémoires, et donc au final faisant face avec une certaine impuissance disons le :-).

Fuites mémoires identifiées sur des JVM Oracle JRockit de serveurs Weblogic 10.

Ce post se découpera en 2 parties :

  • 1ère partie : rappel sur le comportement des JVM et sur les différents types de fuites mémoires
  • 2ème partie : ma mise en situation détaillant outil et méthodologie pour atteindre l'objectif d'identifier la fuite, la comprendre et la corriger !

Lire la suite de cette entrée »

Révision pour l’atelier « Web Caching » chez Xebia

1 - Introduction


Pour ceux qui n'ont pas pu aller à la première séance de l'atelier « Web Caching, mod_cache, Varnish, Amazon CloudFront CDN et S3 » organisée par Xebia, voilà de quoi réviser avant d'aller aux prochaines séances.

Nous n'aborderons que la théorie, car la pratique sera faite lors de l'atelier.

Lire la suite de cette entrée »

Fonctionnement de la JVM d’IBM : J9

1 Introduction

Il existe différentes JVM (JRockit, Hotspot, J9, Zing...) dans le monde de Java. Chacune a ses particularités et lors d'un audit de performance il est important de les connaitre.

Nous allons étudier le fonctionnement de la JVM J9 d'IBM livrée avec WebSphere 8.0 32 bits sur une plateforme x86.
Dans mon cas, c'est la version JRE 1.6.0 IBM Windows 32 build pwi3260_26fp1-20110419_01 (FP1) (java –fullversion).

Attention la JVM J9 n'est livrée avec WebSphere 8 que sur les environnements où elle existe. Dans les autres cas, c'est la JVM d'Oracle (Hotspot) qui est livrée.

Lire la suite de cette entrée »

Interview de Philippe Mouawad – développeur et membre PMC du projet Apache JMeter

Après l'interview de Milamber, voici l'interview de Philippe Mouawad (développeur et membre PMC du projet Apache JMeter).

Lire la suite de cette entrée »

Pourquoi faire attention à l’overhead

1 - Introduction

Lors d'une campagne de test de charge et de performance, ou d'une mise en place de supervision de la production , nous sommes amenés à mettre en place des outils de monitoring qui peuvent rapidement être intrusifs.

Le problème est que lorsqu'on mesure un système, on change le contexte de celui-ci et les mesures prises peuvent être faussées.

Pour éviter cela, il faut que les mesures perturbent le moins possible le système mesuré.

Dans cet article nous allons nous concentrer sur la mesure et la répartition de la consommation processeur d'un programme Java. Cela nous permettra de comparer plusieurs outils et de trouver des solutions afin de limiter le problème d'overhead.

Lire la suite de cette entrée »

Mots-clés
RSS Feed