Dans cet article


Offres d'emploi

Tags

JBoss 7 – EAP 6- Optimisation du serveur en supprimant les subsystem inutiles

JBoss 7 – EAP 6- Optimisation du serveur en supprimant les subsystem inutiles

L’objectif de cet article est de montrer comment optimiser le serveur d’application Jboss EAP 6.2 (ou jboss 7.x).

Configuration de Jboss (Optimisation)

La configuration de Jboss se trouve intégralement dans le fichier standalone.xml dans le répertoire conf. Le fichier est structuré de la manière suivante: Une balise serveur, une balise profile et enfin un ensemble de subsytem. Ce sont ces subsystem qui nous intéressent. Chaque subsystem correspond à « une fonctionnalité » de JBoss. Dans la version fournie par défaut par JBoss, un certain nombre de fonctionnalités (subsystem) sont actives. Assez fréquemment, tous les subsystems ne sont pas nécessaires pour déployer votre application. Nous allons voir ici que les désactiver peut avoir un inpact positif sur les performances ainsi que sur la sécurité. 

Suppression de subsytem inutiles

Un moyen d’optimiser est de supprimer tous les subsystems qui ne sont pas nécessaires à votre utilisation du serveur. Malheureusement souvent oubliée, cette étape permet un gain de performance substantiel en allégeant le serveur et en plus, ceci limite les bugs et les risques de sécurité (par exemple, supprimer la console de management si vous ne vous en servez pas permet d’alleger le serveur Jboss et de gagner en sécurité).

Comment supprimer un subsystem?

Tout simplement en supprimant la balise XML qui correspond au subsystem et en supprimant la ligne extension correspondante. C’est tout et c’est extrèmement facile.

Gain de performances par suppression de subsystem

Pour tester les gains espérés, nous avons dans cet article supprimé, un par un les subsystem et mesuré le temps de démarrage ainsi que l’empreinte mémoire à vide.

Les temps et les taille obtenues ici sont bien sur anecdoctiques mais, ceci donne une idée des gains qui peuvent être réalisés si vous supprimez les systèmes qui ne vous servent pas! 

  • En démarrant le jboss ha à vide on obtient une taille en RAM de 280 Mo.
  • En supprimant le subsystem management 268,8 Mo démarrage 3128 ms.
  • En supprimant le subsystem datasource  263,4 Mo démarrage en 3091 ms.
  • En supprimant le démarrage 3080 ms.
  • En supprimant le subsystem webservices 243,2 Mo démarrage en 3013 ms.
  • En supprimant le subsystem remoting 223 Mo démarrage en 2934 ms.
  • subsystem jmx   223 Mo démarrage en 2434 ms.
  • subsystem jGroups 220 Mo démarrage en 2100 ms.
  • subsystem modCluster  220 Mo  démarrage en 2100 ms.
  • démarrage en 2120 ms.
  • démarrage en 2150 ms.
  • subsystem logging 215 Mo démarrage en 2047 ms.
  • subsystem ejb3 199 Mo démarrage en 1933 ms.

​Voilà, l’objectif de cet article n’est bien sur pas de donner des temps de références mais bien de montrer qu’il est possible d’alléger votre serveur d’application. Donc n’hésitez pas à vous poser la question de la nécessité de chaque subsystem.

L'équipe AXOPEN

Voir aussi les articles suivants

Infinispan / JBoss – Gestion des caches applicatifs
Infinispan – Cache applicatif L’utilisation des caches applicatifs en JEE n’est pas une habitude pour les développeurs et les architectes. L’utilisation des caches de types infinispan ou ehCache sont trop souvent limités à la simple fonction de cache hibernate ou JPA. De nombreuses applications peuvent en effet bénéficier de ces technologies de cache. Il suffit généralement de les penser directement lors de la conception d’une application. Leurs utilisations s’avèrent généralement beaucoup plus simple que ce que l’on pourrait imaginer.
Lire l'article

jBoss EAP 6.2 – Déployer des applications par script avec la console CLI
Dans cet article nous allons voir comment deployer des applications WAR ou EAR avec la CLI (Command Line Interface) de jBoss. Il est souvent nécessaire pour se faciler l’exploitation de serveur jBoss, de scripter (en bash par exemple) un certain nombre d’étapes. JBoss met à disposition un console (CLI) qui permet d’exécuter des scripts en mode line de commande ou batch. CLI est très puissante et permet de faire énormement de manipulation du serveur.
Lire l'article

JBOSS EAP – Déployer une application à la racine du serveur
Dans cet article, nous verrons comment déployer un archive war (un projet) à la racine du serveur JBOSS Le fichier jboss-web.xml Première étape, la plus simple, configurer dans votre fichier de déployement d’application jboss-web.xml pour que le pointe vers /. Voici un exemple simple de mon fichier jboss-web.xml < jboss-web> < context-root>< /context-root> < security-domain>java:/jaas/diagergo-security< /security-domain> < /jboss-web>   Si vous deployez votre application ainsi, vous obtiendrez une erreur de jboss vous expliquant qu’il existe déjà une application deployée sur le context-path root.
Lire l'article