Archive

Articles taggués ‘performances’

Oubliez les redéploiements grâce à JRebel

Introduction

Comme une grande partie des lecteurs de ce blog, vous avez certainement déjà travaillé sur des applications web Java EE de taille variable, sur lesquelles vous avez fait un nombre indécent de redéploiements à chaque fois que vous vouliez valider des modifications fraîchement apportées. Puis vous avez dû découvrir que depuis Java 1.4, la JVM permet de faire du Hotswap en mode debug, c’est-à-dire de remplacer du code à la volée au runtime.
Lire la suite…

Illuminez vos logs dans Eclipse

Introduction

Comme beaucoup de lecteurs de ce blog, j’utilise un IDE au quotidien. Sur mon projet actuel, c’est Eclipse combiné à un serveur Websphere. Pour des raisons pratiques, je fais un tail -f des logs du serveur dans la console d’Eclipse, et qui dit serveur d’applications Java + logs en niveau DEBUG dit énormément d’informations à scanner pour trouver ce qui m’intéresse réellement (quelques Mo de logs par jour !).

Colore tes logs !

La solution que j’ai retenue pour facilement m’y retrouver, c’est Grep Console. Ce plugin pour Eclipse permet de colorier dans une console certaines parties de texte qui matchent une ou plusieurs expressions régulières. Par exemple, les WARN en orange et les ERROR en blanc sur fond rouge.

Configuration de Grep Console

Les boites de dialogues ultra-simples de configuration de Grep Console

On voit dans la fenêtre de gauche toutes les expressions régulières que j’ai choisies de matcher et dans celle de droite la configuration de l’une d’entre elles : définition de la regexp, choix des couleurs d’arrière-plan ou d’avant-plan pour la ligne entière ou pour les groupes capturés par des parenthèses (cependant on ne peut pas imbriquer les parenthèses).

Voici le résultat dans la console d’Eclipse :

Aperçu de la coloration des logs

Conclusion

Simple mais efficace, je vous conseille vivement d’installer ce plugin qui permet de gagner du temps si vous avez des logs sous les yeux à longueur de journée ! Rendez-vous sur l’update site http://eclipse.musgit.com. Seul bémol, je n’ai pas encore trouvé d’astuce pour colorier d’anciens logs dans d’autres fichiers (une sorte de less coloré). Si vous avez un outil qui fait ce genre de choses, je suis preneur ;-) .

Découper le chargement d’une application Flex

Un projet Flex standard produit un seul fichier SWF. Dans le cas de gros projets, cela peut aboutir à un projet monolithique composé d’un trop grand nombre de classes et lignes de code à maintenir, mais également  à un temps de chargement assez important chez l’utilisateur.

L’objectif de cet article est de présenter un ensemble de solutions permettant de découper une application Flex en plusieurs fichiers à des fins d’amélioration du développement et d’optimisation des temps de chargement. On restera ici assez général, l’idée étant plus de résumer les différentes solutions existantes que de présenter les manières pour les mettre en place. Cela fera plutôt l’objet d’autres articles… Lire la suite…

HibernateGenericDAO considered harmful

La factorisation de code est une des grandes promesses de la programmation orientée objet. Ainsi, dès que l’on a passé le niveau “novice”, on meurt d’envie de factoriser du code et l’on tombe dans le premier piège de la POO : abuser de l’héritage. La désillusion n’en sera que plus grande dès que l’on passera au niveau “confirmé” :) . Mais ce n’est pas le sujet de ce billet. Non, dans ce billet je vous propose de voir un effet plus pervers de ce problème, induit par le mode de fonctionnement d’Hibernate, et la paresse humaine. Lire la suite…

JMeter : utiliser les journaux d’accès

JMeter est un outil de test de performances qui dispose de nombreux composants par défaut, dont certains restent assez méconnus malgré leur grande utilité. Cet article présente l’échantillonneur Journal d’accès, qui permet de lire des access logs Apache pour rejouer les requêtes qui y sont consignées. En effet, la documentation sur ce composant est assez succincte, ainsi que le tutoriel (PDF) – du genre concis, voire expéditif – ce qui ne met pas en valeur la chose. Lire la suite…

Categories: Non classé Tags: , , ,