SlideShare a Scribd company logo
1 of 23
JBoss Clustering & Tuning  Fourat Z. Lab Technique N°3/3 Senior software architect fourat.zouari@tritux.com
Qui sommes nous? TRITUXS.A.R.L.est une SSII Tunisienne, créée en 2006 ,[object Object]
 Prestations de pointe en Administration système Linux,clustering et haute disponibilité,solutions VAS (telecom),mobile banking, SMS et SOA.(c.f. http://tritux.com/services )
 Editeur de plusieurs logiciels dans divers domaines I.T.(c.f. http://tritux.com/products )
Mise en place d’architectures « enterprise », ex: Clusters, Firmes de données, SOA (ESB), EAI2
Plan Introduction à la mesure de performance Stress Test avant tuninga. Cas de testb. Dimensionnement  (serveur)c. Résultats Optimisation de JBoss EAP 5.1a.  Supprimer le non utilisé par votre applicationb. Configuration de log4jc. Configuration de la mémoire JVMd. Configuration de la data sourcee. Configuration de la connexion HTTP  Stress Test après tuning Conclusion s 3
Introduction à la mesure de performance s 		Les stress test ou test de monté de charge consiste à simuler un grand nombre d’utilisateurs qui exploitent simultanément votre application. 	Notre but via ce test et d’étudier si votre application qui est supposé déployé sur le serveur JBoss EAP 5.1 répondait réellement à vos besoins (nombres d’utilisateurs supporté, ressources matérielles, consommation bande passante…). Pour ce la on dispose d’un très bon outil de mesures de performances et stress test appelée Jakarta Jmeter disponible sous le répertoire outillage du CD de formation. 4
Stress Test avant tuning s Présentation ,[object Object]
Coté client :  Minimiser le maximum le temps de réponse.temps de réponse: c’est le temps écoulé pendant que l’utilisateur clique sur un bouton et la page (résultat) sera affichée par le navigateur.
Coté serveur: Maximisé le maximum débit (Throughput).Le débit: (Throughput): C’est le nombre de transactions qui peuvent se produire dans un laps de temps donnée,  il est normalement mesuré en transactions par seconde (tps). 5
Stress Test avant tuning s a. Cas de test 		Notre objectif est de simuler une masse d’utilisateurs qui appellent le point d’entré de notre l’application helloworld à l’adresse «  http://<adresse-ip>:8080/helloworld/home.seam »En accédant à cette adresse le client (browser) envoie au serveur JBoss une requête HTTP GET. Cas de test:- 1er Cas: 1 utilisateur qui fera 100 invocations consécutives.- 2ème Cas: 5utilisateurs qui feront au même instant 100 invocations consécutives,.- 3ème Cas: 25 utilisateurs qui feront au même instant 100 invocations consécutives. 6
Stress Test avant tuning s b. Dimensionnement  (serveur) ,[object Object]
Mémoire Physique: 3 Go
Mémoire virtuelle (SWAP): 2 Go
Carte réseau: Fast Ethernet 10/100 Mb/s
Système d’exploitation: Red Hat Enterprise Linux Server release 5.4                                        version du kernel: 2.6.18-164.el57
Stress Test avant tuning c. Résultats: s Temps de démarrage du serveur : 50 secondes ,[object Object]
Débit (Throughput): 10 Tps
Echec: 0%
Attente Moyenne: 98 ms
2ème Cas :
Débit (Throughput): 18 Tps
Echec: 0%

More Related Content

What's hot

PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linuxThierry Gayet
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busyboxAyoub Rouzi
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembeddedAyoub Rouzi
 
Sqloracle
SqloracleSqloracle
Sqloracletedy11
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installationAyoub Rouzi
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcatManassé Achim kpaya
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcminfcom
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
Clonezilla serveur
Clonezilla serveurClonezilla serveur
Clonezilla serveuryaaf
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...Ayoub Rouzi
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linuxKhalid ALLILI
 
Db aing td1v1
Db aing td1v1Db aing td1v1
Db aing td1v1infcom
 
Db aing td3v1
Db aing td3v1Db aing td3v1
Db aing td3v1infcom
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Ousmane BADJI
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embeddedAyoub Rouzi
 

What's hot (20)

PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linux
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busybox
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 
Sqloracle
SqloracleSqloracle
Sqloracle
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcat
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
Clonezilla serveur
Clonezilla serveurClonezilla serveur
Clonezilla serveur
 
Hdfs
HdfsHdfs
Hdfs
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Db aing td1v1
Db aing td1v1Db aing td1v1
Db aing td1v1
 
Db aing td3v1
Db aing td3v1Db aing td3v1
Db aing td3v1
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embedded
 
#7 Migration
#7 Migration#7 Migration
#7 Migration
 

Similar to JBoss clustering et tuning (lab 3/3)

Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPrestaShop
 
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Mohammed TAMALI
 
Installation Et Configuration De Nutch
Installation Et Configuration De NutchInstallation Et Configuration De Nutch
Installation Et Configuration De NutchMohamed Ben Bouzid
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsPhilippeBrogi
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)Fourat Zouari
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyribaOlivier BAZOUD
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
1 installation-exchange
1 installation-exchange1 installation-exchange
1 installation-exchangeloucif abidi
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsOCTO Technology
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Publicis Sapient Engineering
 

Similar to JBoss clustering et tuning (lab 3/3) (20)

Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
 
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
 
Installation Et Configuration De Nutch
Installation Et Configuration De NutchInstallation Et Configuration De Nutch
Installation Et Configuration De Nutch
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 
Drools et les moteurs de règles
Drools et les moteurs de règlesDrools et les moteurs de règles
Drools et les moteurs de règles
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
OW2 JASMINe
OW2 JASMINeOW2 JASMINe
OW2 JASMINe
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyriba
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Meetup angular rshop
Meetup angular rshopMeetup angular rshop
Meetup angular rshop
 
1 installation-exchange
1 installation-exchange1 installation-exchange
1 installation-exchange
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
 

More from Fourat Zouari

La SOA au sein des systèmes d'information
La SOA au sein des systèmes d'informationLa SOA au sein des systèmes d'information
La SOA au sein des systèmes d'informationFourat Zouari
 
Mise en place d'une architecture SOA avec JBoss SOA Platform
Mise en place d'une architecture SOA avec JBoss SOA PlatformMise en place d'une architecture SOA avec JBoss SOA Platform
Mise en place d'une architecture SOA avec JBoss SOA PlatformFourat Zouari
 
Fonctionnalités JBoss ESB
Fonctionnalités JBoss ESBFonctionnalités JBoss ESB
Fonctionnalités JBoss ESBFourat Zouari
 
MobiBank v1.2: Mobile banking platform
MobiBank v1.2: Mobile banking platformMobiBank v1.2: Mobile banking platform
MobiBank v1.2: Mobile banking platformFourat Zouari
 
Fidelcom: Plateforme de fidélisation d'abonnés
Fidelcom: Plateforme de fidélisation d'abonnésFidelcom: Plateforme de fidélisation d'abonnés
Fidelcom: Plateforme de fidélisation d'abonnésFourat Zouari
 
Monitoring avec Zabbix
Monitoring avec ZabbixMonitoring avec Zabbix
Monitoring avec ZabbixFourat Zouari
 

More from Fourat Zouari (8)

La SOA au sein des systèmes d'information
La SOA au sein des systèmes d'informationLa SOA au sein des systèmes d'information
La SOA au sein des systèmes d'information
 
SMS football VAS
SMS football VASSMS football VAS
SMS football VAS
 
SMS Chat platform
SMS Chat platformSMS Chat platform
SMS Chat platform
 
Mise en place d'une architecture SOA avec JBoss SOA Platform
Mise en place d'une architecture SOA avec JBoss SOA PlatformMise en place d'une architecture SOA avec JBoss SOA Platform
Mise en place d'une architecture SOA avec JBoss SOA Platform
 
Fonctionnalités JBoss ESB
Fonctionnalités JBoss ESBFonctionnalités JBoss ESB
Fonctionnalités JBoss ESB
 
MobiBank v1.2: Mobile banking platform
MobiBank v1.2: Mobile banking platformMobiBank v1.2: Mobile banking platform
MobiBank v1.2: Mobile banking platform
 
Fidelcom: Plateforme de fidélisation d'abonnés
Fidelcom: Plateforme de fidélisation d'abonnésFidelcom: Plateforme de fidélisation d'abonnés
Fidelcom: Plateforme de fidélisation d'abonnés
 
Monitoring avec Zabbix
Monitoring avec ZabbixMonitoring avec Zabbix
Monitoring avec Zabbix
 

JBoss clustering et tuning (lab 3/3)

  • 1. JBoss Clustering & Tuning Fourat Z. Lab Technique N°3/3 Senior software architect fourat.zouari@tritux.com
  • 2.
  • 3. Prestations de pointe en Administration système Linux,clustering et haute disponibilité,solutions VAS (telecom),mobile banking, SMS et SOA.(c.f. http://tritux.com/services )
  • 4. Editeur de plusieurs logiciels dans divers domaines I.T.(c.f. http://tritux.com/products )
  • 5. Mise en place d’architectures « enterprise », ex: Clusters, Firmes de données, SOA (ESB), EAI2
  • 6. Plan Introduction à la mesure de performance Stress Test avant tuninga. Cas de testb. Dimensionnement (serveur)c. Résultats Optimisation de JBoss EAP 5.1a. Supprimer le non utilisé par votre applicationb. Configuration de log4jc. Configuration de la mémoire JVMd. Configuration de la data sourcee. Configuration de la connexion HTTP Stress Test après tuning Conclusion s 3
  • 7. Introduction à la mesure de performance s Les stress test ou test de monté de charge consiste à simuler un grand nombre d’utilisateurs qui exploitent simultanément votre application. Notre but via ce test et d’étudier si votre application qui est supposé déployé sur le serveur JBoss EAP 5.1 répondait réellement à vos besoins (nombres d’utilisateurs supporté, ressources matérielles, consommation bande passante…). Pour ce la on dispose d’un très bon outil de mesures de performances et stress test appelée Jakarta Jmeter disponible sous le répertoire outillage du CD de formation. 4
  • 8.
  • 9. Coté client : Minimiser le maximum le temps de réponse.temps de réponse: c’est le temps écoulé pendant que l’utilisateur clique sur un bouton et la page (résultat) sera affichée par le navigateur.
  • 10. Coté serveur: Maximisé le maximum débit (Throughput).Le débit: (Throughput): C’est le nombre de transactions qui peuvent se produire dans un laps de temps donnée, il est normalement mesuré en transactions par seconde (tps). 5
  • 11. Stress Test avant tuning s a. Cas de test Notre objectif est de simuler une masse d’utilisateurs qui appellent le point d’entré de notre l’application helloworld à l’adresse «  http://<adresse-ip>:8080/helloworld/home.seam »En accédant à cette adresse le client (browser) envoie au serveur JBoss une requête HTTP GET. Cas de test:- 1er Cas: 1 utilisateur qui fera 100 invocations consécutives.- 2ème Cas: 5utilisateurs qui feront au même instant 100 invocations consécutives,.- 3ème Cas: 25 utilisateurs qui feront au même instant 100 invocations consécutives. 6
  • 12.
  • 15. Carte réseau: Fast Ethernet 10/100 Mb/s
  • 16. Système d’exploitation: Red Hat Enterprise Linux Server release 5.4 version du kernel: 2.6.18-164.el57
  • 17.
  • 29. Optimisation de JBoss EAP 5.1 s a. Supprimer le non utilisé par votre application: Par défaut JBoss EAP plusieurs bibliothèques, composants et paramétrages qui sont dans la majorité du temps non exploités par votre application. Ces derniers consomment énormément de ressources (Mémoire, CPU, Espace disque..) ce qui affecte la performance de votre application. Donc penser à éliminer toutes composantes ou paramètres non utilisés par votre application tout en se référent à ce qui suit. 9
  • 30.
  • 31. Si votre application n’utilise pas JUDDI supprimer :- deploy/juddi-service.sar
  • 32. Si votre application n’utilise pas le générateur de clé UUID supprimer:- deploy/ uuid-key-generator.sar10
  • 33.
  • 34.
  • 35. Si votre application n’utilise pas JBoss Scheduling, supprimer:- deploy/schedule-manager-service.xml- deploy/scheduler-service.xml
  • 36. Si votre application n’utilise pas Hypersonic DB, supprimer:- deploy/hsqldb-ds.xml
  • 37. Suppression de Bsh Deployer:- deployers/bsh.deployer
  • 38. Désactivation de déploiement à chaud (Hot deployment)Supprimer: deploy/hdscanner-jboss-beans.xml12
  • 39.
  • 40. Si votre application n’est développée sur le Framework JBoss Seam, supprimer:- deployers/seam.deployer- deployers/webbeans.deployer- deployer/admin-console.war
  • 41. Si vous n’aurez pas besoin de la console d’administration vous pouvez la supprimer car elle consomme trop de ressources. Supprimer: - deployer/admin-console.war 13
  • 42.
  • 43.
  • 44. Désactivation du Clustring si vous n’aurez pas besoin, Supprimer:- ./deploy-hasingleton- ./farm- deploy/clusterEditer : conf/bootstrap/profile.xml Supprimer ou commenter ça: <property name="farmURIs"> <listelementClass="java.net.URI"> <value>${jboss.server.home.url}farm</value> </list> </property> 15
  • 45.
  • 46. Désactivation du Clustring si vous n’aurez pas besoin, Supprimer:- ./deploy-hasingleton- ./farm- deploy/clusterEditer : conf/bootstrap/profile.xml Supprimer ou commenter ça: <property name="farmURIs"> <listelementClass="java.net.URI"> <value>${jboss.server.home.url}farm</value> </list> </property> 16
  • 47. Optimisation de JBoss EAP 5.1 s b. Configuration de log4j La configuration par défaut du log est déconseillée en mode production, nous voulons seulement que les erreurs soient loggées.Éditer le fichier conf/jboss-log4j.xml puis remplacer tout le contenu du root (<root> ………….. </root>). par ça : <root> <priority value="ERROR"/> <appender-ref ref="FILE"/> </root> 17
  • 48. Optimisation de JBoss EAP 5.1 s c. Configuration de la mémoire JVM: Éditer la variable $JAVA_OPTS dans le fichier bin/run.conf-Xms<size> : taille (en Mo) minimum de la mémoire alloué: min-heap -Xmx<size> : taille (en Mo) maximum de la mémoire alloué: max-heap Xms et Xmx doivent avoir la même valeur en production pour notre configuration.Le choix de cette valeur n’est pas au hasard, il faut qu’il soit bien étudier selon le nombre d’applications déployées, ressources utilisées etc… -XX:MaxPermSize: Il est recommander que cette valeur soit le 1/4 de max-heap. 18
  • 49. Optimisation de JBoss EAP 5.1 s d. Configuration de la data source: Editer le fichier data source xxxxx-ds.xml accompagné avec l’archive de votre application (war), La modification de ces deux paramètres peuvent optimiser la connexion avec la base:- min-pool-size: C’est le nombre initial de connexions à la BD qui peuvent être gardées.- max-pool-size: C’est le nombre maximale de connexions concurrentes à la BD. Cette valeur doit être répondre aux besoins de votre application et respecte le paramétrage de votre SGBD 19
  • 50. Optimisation de JBoss EAP 5.1 s e. Configuration de la connexion HTTP: Éditer le fichier deploy/jbossweb.sar/server.xml, les paramètres les plus importants sont :- maxThreads : Il s’agit du nombre maximum de threads (nombre d’utilisateur qui peuvent exploiter en parallèle votre application).- acceptCount : si le nombre d’utilisateurs concurrents dépassent le nombre maximum autorisé maxThreads, l’attribut acceptCount représente la taille d’une file d’attente permettant de tenir j’usqu’au nombre acceptCount de threads en attente pour traitement. - compression : Si cet attribut reçoit la valeur « force », la réponse HTTP sera compressé par JBoss puis renvoyée au browser. (ça peu réduire la bande passante).Exemple: <Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" maxThreads="50" acceptCount="100" compression="force" /> 20
  • 51.
  • 52. Débit (Throughput): 12 Tps vs. 10 Tps
  • 54. Attente Moyenne: 81 ms vs 98 ms
  • 56. Débit (Throughput): 22 Tps vs 18 Tps
  • 62. Attente Moyenne: 1109 ms vs 1260 Tps21
  • 63. Conclusion s On remarque que l’optimisation de JBoss EAP 5.1 à jouer son rôle pour augmenter les performances et même si qu’on a pu atteindre que 10% à 12% de d’efficacité avec une simple application et un environnement minime, avec d’autres environnement plus puissants et des applications plus complexes le gain de performances peut aller jusqu’à 30% ! Une bonne pratique de test de performances est que vous devriez toujours essayer de faire différents cas de tests ainsi que plusieurs régalages puis comparer les résultats obtenus et choisissez la plus adéquate à vos besoins ! 22
  • 64. more … http://tritux.com/products/ http://tritux.com/services/ http://tritux.com/blog/1 9 Rue du Niger, Mont Plaisir / TunisCentre Hanene, 4é étage info@tritux.com