Nous avons développé une application J2EE à base de Struts / OJB. Cette application est actuellement en production chez plusieurs clients et nous sommes en phase de dimensionnement pour un de ces clients qui déploie celle-ci sur un Weblogic 8.1 sp2 sous Windows.
Nous avons donc lancé une campagne de benchmark et nous rencontrons un seuil au delà duquel nous n'arrivons pas à augmenter le nombre d'utilisateurs simultanés (jusque là tout est normal me direz-vous).
Le problème vient du fait que à la valeur seuil, le serveur n'utilise qu'environ 40% de la puissance CPU (il s'agit d'un serveur bi-pro avec Hyperthreading sous 2003), même si la charge est bien répartie sur les 4 CPUs virtuels.
On a donc atteint un goulet d'étranglement au niveau du traitement des requêtes en entrée (mais pas forcement au niveau HTTP). J'ai commencé à tester une augmentation du nombre de thread Weblo et le tir est en cours.
Par contre sur Websphere, dans ce cas de figure, IBM recommande la mise en place d'un cluster vertical, configuration que nous avons validé avec des gains de performances pouvant dépasser le facteur 2 sur un m^me serveur physique.
Ma question est : avez-vous déjà été confronté à ce type de problème, et si oui que faut-il modifier dans la configuration de Weblogic pour diminuer ces points de contention (il y a bien une doc de tuning Weblo, mais rien ne vaut une expérience terrain) ? Quelqu'un a-t-il expériementé la mise en oeuvre d'un cluster vertical (plusieurs serveurs Weblogic sur un même serveur physique) et peut-on espérer les mêmes gains qu'avec Websphere ?
Jacques Desmazières
Partager