Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2095 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Nombre limite de thread

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Nombre limite de thread

n°718512
Ben22520
Posté le 07-05-2004 à 12:40:55  profilanswer
 

Salut à tous
 
j'ai réalisé un serveur socket en java, permettant de dialoguer avec Flash afin de faire un tchat en flash.
Le tchat est composé de plusieurs salons, il est aussi possible d'envoyer des messages privés.
Tout marche impec
 
Cependant, je me pose des questions quand à la limite de mon serveur.
A chaque fois qu'un internaute se connecte pour tchatter, un thread est créé au niveau du serveur, j'imagine que le nombre de thread maximum pouvant être créés par une application dépend des ressources de celle ci (mémoire ram + processeur), mais comment savoir que ces limites vont bientôt être atteintes ? Comment calculer le nombre maximum d'utilisateurs que je peux accepter ?  
 
J'imagine que des serveurs de tchat comme ceux de wanadoo ou caramail ne tournent pas uniquement sur une seule machine, savez vous comment je peux diviser mon application sur plusieurs machines ?
 
Merci merci de m'éclairer sur ce sujet car je ne trouve pas beaucoup d'informations là dessus sur le net...

mood
Publicité
Posté le 07-05-2004 à 12:40:55  profilanswer
 

n°718567
BifaceMcLe​OD
The HighGlandeur
Posté le 07-05-2004 à 13:05:52  profilanswer
 

A ma connaissance, pour les threads comme le nombre de sockets ouvertes à un instant donné, la limite est celle de l'OS sous-jacent.
 
Par contre, côté mémoire,la limite est purement Java. Voir l'option -Xmx pour fixer la taille max du tas Java (option que tu connais peut-être).
 
Si tu veux répartir ton appli sur plusieurs machines, ça peut devenir un peu compliqué, car en générale, les différents serveurs sont capables de dialoguer (ou alors ils sont commandés par une machine gateway qui sert de tour de contrôle). En Java, il te faut découper ton application sur plusieurs machines virtuelles. Ensuite, ces machines  virtuelles peuvent tourner sur une seule ou sur plusieurs machines physiques, cela ne change rien à leur fonctionnement.

n°718627
seabee
Posté le 07-05-2004 à 13:39:35  profilanswer
 

Ben22520 a écrit :

Salut à tous
 
j'ai réalisé un serveur socket en java, permettant de dialoguer avec Flash afin de faire un tchat en flash.
Le tchat est composé de plusieurs salons, il est aussi possible d'envoyer des messages privés.
Tout marche impec
 
Cependant, je me pose des questions quand à la limite de mon serveur.
A chaque fois qu'un internaute se connecte pour tchatter, un thread est créé au niveau du serveur, j'imagine que le nombre de thread maximum pouvant être créés par une application dépend des ressources de celle ci (mémoire ram + processeur), mais comment savoir que ces limites vont bientôt être atteintes ? Comment calculer le nombre maximum d'utilisateurs que je peux accepter ?  
 
J'imagine que des serveurs de tchat comme ceux de wanadoo ou caramail ne tournent pas uniquement sur une seule machine, savez vous comment je peux diviser mon application sur plusieurs machines ?
 
Merci merci de m'éclairer sur ce sujet car je ne trouve pas beaucoup d'informations là dessus sur le net...


<HS>
Un 'tchat'?
C'est la nouvelle ortho recommandée par l'académie française?  :D  
</hs>

n°718634
Ben22520
Posté le 07-05-2004 à 13:46:05  profilanswer
 

Merci pour tes infos
Je ne connaissais pas l'option -Xmx, elle va m'être trés utile je pense.
 
Je pense que l'idéal pour mon application est un serveur linux avec le minimum d'applications installées dessus, et ensuite j'execute mon application avec les options -Xmx et l'option de compilation a la volée (faut que je la trouve, je viens d'en entendre parler là : http://www.infres.enst.fr/~dupouy/pdf/SIP/JVM.pdf)
 
Merci de m'avoir répondu !

n°718840
veryfree
Posté le 07-05-2004 à 16:01:24  profilanswer
 

ou sinon tu modifies un serveur irc qui supporte deja le "linkage" avec d'autre serveurs... ou tu t'en inspire


Message édité par veryfree le 07-05-2004 à 16:01:39
n°718895
Ben22520
Posté le 07-05-2004 à 16:13:03  profilanswer
 

ah bon ? tu crois que je peux chopper les codes d'un serveur IRC ?
C'est en Java ?

n°719070
benou
Posté le 07-05-2004 à 18:04:22  profilanswer
 

sinon, en jdk1.4 tu peux éviter d'avoir un thread de lancer pour chaque socket en utilisant des Channel ...


---------------
ma vie, mon oeuvre - HomePlayer
n°719075
veryfree
Posté le 07-05-2004 à 18:11:34  profilanswer
 

Ben22520 a écrit :

ah bon ? tu crois que je peux chopper les codes d'un serveur IRC ?
C'est en Java ?


 
il en existe des libres en java oué
http://sourceforge.net/projects/j-ircd/


Message édité par veryfree le 07-05-2004 à 18:13:45
n°720228
Ben22520
Posté le 10-05-2004 à 09:11:19  profilanswer
 

Merci merci !!!

n°762385
julienv
Posté le 14-06-2004 à 06:28:09  profilanswer
 

oui benou a raison pour ce genre de chose java.nio va mieux scaler. en plus pour le truc genre chat ca marcherait bien et tu aurais une programmation evenementielle (i.e regarder ce que fait le projet SEDA, tapper seda sur google)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Nombre limite de thread

 

Sujets relatifs
[java] un problème d'accesseurs....[java] JTable : y a t'il un moyen de donner un nom aux lignes
[JAVA] pb de SocketException avec readObject()[java] Choisir un nombre aleatoirement dans un intervalle
[Java] Look des objets graphiques[JAVA] Erreur d'un applet dans une page sécurisé
[java] File a capacite limitee circulaire en tableau[résolu][Java] Singleton VerifyError
[JAVA][JDBC] ODBC déconne ?[Java] Besoin d'aide avec Regex
Plus de sujets relatifs à : [JAVA] Nombre limite de thread


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR