IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Weblogic Java Discussion :

[Weblogic][Tuning] Optimiser l'utilisation du processeur


Sujet :

Weblogic Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut [Weblogic][Tuning] Optimiser l'utilisation du processeur
    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

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut
    Salut,

    Qu'avez vous passé comme arguments au démarrage de Weblo ?
    En particulier la valeur du paramètre MaxPermSize ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    La seule modification que nous ayons faite au script de lancement est la suvante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET MEM_ARGS=-Xms256m -Xmx1024m -XX:MaxPermSize=128m
    Après le test, j'ai constaté qu'en augmentant le nombre de threads (passer de 25 à 40) j'avais plutôt dégradé les performances. Paradoxalement j'ai même de meilleurs résultats avec un serveur de dev qu'un serveur de prod. Mais là je soupsonne grandement un problème de configuration du serveur de prod !

    Jacques Desmazières

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut
    Essaye en mettant :
    -XX:MaxPermSize=256m sinon avec -XX:MaxPermSize=384m

    La valeur de -Dweblogic.ProductionModeEnabled est elle bien à true ?
    Quelle est la valeur du paramètre Servlet Reload ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    -XX:MaxPermSize=256m sinon avec -XX:MaxPermSize=384m
    Je vais essayer ces options

    -Dweblogic.ProductionModeEnabled
    J'ai fait le test avec et sans pour un même résultat.

    Quelle est la valeur du paramètre Servlet Reload
    A quoi correspond-il et comment j'y accède ?

    Jacques Desmazières

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut
    Re,

    Hmm...ca m'étonne beaucoup que l'activation du mode production ne change rien. D'ou la necessité de vérifier le paramètre "Servlet Reload".

    Ouvrir la console d'admin et dérouler l'arborescence décrivant le serveur jusqu'a la web app. Cliquer sur la web app concernée. Dans la frame de droite, on doit voir s'afficher un onglet "Configuration". Cliquer dessus puis sur le sous onglet "Descriptor". Chercher un paramètre nommé "Servlet Reload Check Secs". Sa valeur doit être égale à -1 en mode production. Il faut redemarrer le serveur pour valider cette modification.
    Si la valeur de ce paramètre n'est pas à -1, il va passer beaucoup de temps à vérifier si la version de la Servlet à traiter a changée depuis le dernier accès.

    Un pendant de ce paramètre existe au niveau jsp. Editer le fichier weblogic.xml situé logiquement dans le répertoire WEB-INF de la web app.
    Le paramètre pageCheckSeconds doit être à -1 aussi. Comme ça :

    <jsp-descriptor>
    <jsp-param>
    <param-name>pageCheckSeconds</param-name>
    <param-value>-1</param-value>
    </jsp-param>
    </jsp-descriptor>

Discussions similaires

  1. Optimiser l'utilisation d'un processeur multi-core
    Par photorelief dans le forum Modules
    Réponses: 11
    Dernier message: 11/04/2010, 21h28
  2. Optimiser l'utilisation des pointeurs
    Par progfou dans le forum C
    Réponses: 65
    Dernier message: 10/03/2006, 11h49
  3. Réponses: 4
    Dernier message: 06/02/2006, 18h16
  4. Optimiser requête utilisant NOT IN
    Par Neilos dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/08/2005, 14h24
  5. Comment récupérer le % d'utilisation du processeur ?
    Par ksly dans le forum C++Builder
    Réponses: 3
    Dernier message: 28/10/2003, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo