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

Wildfly/JBoss Java Discussion :

Comment JBoss gère les connexions des utilisteurs


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Août 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2008
    Messages : 176
    Points : 73
    Points
    73
    Par défaut Comment JBoss gère les connexions des utilisteurs
    Bonjour,
    j'ai une application web qui s'exécute sur un serveur JBoss, j'ai utiliser des outils de monitorining je trouve que JBoss crée des threads de type :

    http-localhost%2F127.0.0.1-8080-7 native ID: 0xC74 group: 'jboss'
    http-localhost%2F127.0.0.1-8080-4 native ID: 0xD0C group: 'jboss'
    http-localhost%2F127.0.0.1-8080-3 native ID: 0xD48 group: 'jboss'
    http-localhost%2F127.0.0.1-8080-1 native ID: 0xDD4 group: 'jboss'
    http-localhost%2F127.0.0.1-8080-9 native ID: 0xC50 group: 'jboss'
    http-localhost%2F127.0.0.1-8080-5 native ID: 0xCA0 group: 'jboss'
    http-localhost%2F127.0.0.1-8080-6 native ID: 0xCAC group: 'jboss'
    http-localhost%2F127.0.0.1-8080-2 native ID: 0xE2C group: 'jboss'

    malgré que j'ai uniquement deux utilisateurs connectés

    est ce que quelqu'un peut m'expliquer comment JBoss gère les connexions des utilisateurs et est ce qu'il y a un thread spécifique pour chaque utilisateur et sinon est ce qu'il y a un moyen de le faire ?

    merci d'avance

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Les threads de connexions HTTP sont gérés par le Tomcat intégré dans JBoss. Tu trouveras donc des infos sur le sujet sur le site de Tomcat :

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    pour faire court, il y a un thread tomcat qui gère les connection entrantes. Ce thread va alors dispatcher immédiatement les connections établies vers les différents thread http que tu vois. Tomcat utilise un système de pool pour les thread. T'aura au maximum M thread, M étant la valeur que tu as configuré dans tomcat (par défaut 50 si ma mémoire est bonne). Il est normal que t'ai plusieurs thread ouvert même si t'as pas de requete en cours, un système de pool étant en place pour réutiliser les threads.

  4. #4
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Août 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2008
    Messages : 176
    Points : 73
    Points
    73
    Par défaut
    merci pour les réponses,

    je veux modifier les attributs "acceptCount" et "maxThreads" pour pouvoir faire un stress test de mon applications tournant sur JBoss, j'arrive pas a trouver le fichiers qui contient ces paramètre.

    si vous connaissez son emplacement merci de me le dire (je travail avec jboss 5.0)

    merci d'avance

  5. #5
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Ca fait pas mal de temps que je n'ai plus utilisé de JBoss 5.0, mais dans la 5.1, le fichier est deploy/jbossweb.sar/server.xml. Si il n'est pas au même endroit, recherche server.xml.

  6. #6
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Août 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2008
    Messages : 176
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par hasalex Voir le message
    Ca fait pas mal de temps que je n'ai plus utilisé de JBoss 5.0, mais dans la 5.1, le fichier est deploy/jbossweb.sar/server.xml. Si il n'est pas au même endroit, recherche server.xml.
    j'ai trouvé ce fichier mais ne contient aucune information sur ces parametres
    mais j'ai trouvé le fichier jboss-service.xml dans le répertoire qui contient cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <mbean code="org.jboss.util.threadpool.BasicThreadPool"
          name="jboss.system:service=ThreadPool">
          <attribute name="Name">JBoss System Threads</attribute>
          <attribute name="ThreadGroupName">System Threads</attribute>
          <!-- How long a thread will live without any tasks in MS -->
          <attribute name="KeepAliveTime">60000</attribute>
          <!-- The max number of threads in the pool -->
          <attribute name="MaximumPoolSize">10</attribute>
          <!-- The max number of tasks before the queue is full -->
          <attribute name="MaximumQueueSize">1000</attribute>
    <!-- The behavior of the pool when a task is added and the queue is full.
          abort - a RuntimeException is thrown
          run - the calling thread executes the task
          wait - the calling thread blocks until the queue has room
          discard - the task is silently discarded without being run
          discardOldest - check to see if a task is about to complete and enque
             the new task if possible, else run the task in the calling thread
          -->
          <attribute name="BlockingMode">run</attribute>
    est ce que c'est la partie concerner par la connexion des utilisateurs? et est ce que thread pool = 10 c'est à dire que jboss peut servir uniquement 10 utilisateur à la fois et le reste ce met dans le file ?
    et si j'augmente cette valeur à 100 par exemple est ce que ça influe les performances du serveur ou de l'application?

    merci d'avance

  7. #7
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Dans le fichier server.xml, c'est l'élément Connector que tu dois modifier, en te référents à la doc que j'ai mise dans ma première réponse.

  8. #8
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Août 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2008
    Messages : 176
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par hasalex Voir le message
    Dans le fichier server.xml, c'est l'élément Connector que tu dois modifier, en te référents à la doc que j'ai mise dans ma première réponse.
    merci

    si j'augement les valeurs de maxThreads et acceptCount à 1000 (j'ai besoins de simuler 1000 connexion concurrente) n'a pas de mauvais impact sur le serveur.

    merci

Discussions similaires

  1. Comment JBoss gère les sessions
    Par eric95 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 28/02/2012, 14h06
  2. Réponses: 1
    Dernier message: 07/09/2006, 19h56
  3. [ADO.Net][C#]Comment se gère les bases de données ?
    Par Sion_Sempai dans le forum Accès aux données
    Réponses: 7
    Dernier message: 28/03/2006, 16h30
  4. [ADO.NET][2.0] Comment se gère les pools de connection ?
    Par brousaille dans le forum Accès aux données
    Réponses: 8
    Dernier message: 04/03/2006, 19h11
  5. DBGrid, comment dessiner dans les titres des colonnes
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 04/11/2004, 17h49

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