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

JBoss, optimisation du serveur d’application en supprimant les subsystem inutiles (Version JBoss 7.x et JBoss EAP 6.x)
Pierre LISERONMis à jour le 27 Janv 2014

Lobjectif de cet article est de montrer comment optimiser le serveur dapplication 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 doptimiser 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 dalleger 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. Cest tout et cest 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 lempreinte 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à, lobjectif de cet article nest bien sur pas de donner des temps de références mais bien de montrer quil est possible dalléger votre serveur dapplication. Donc nhésitez pas à vous poser la question de la nécessité de chaque subsystem.