OVH Cloud OVH Cloud

redirection de message et charge système

6 réponses
Avatar
collinm
salut

je voudrais cr=E9er une application (client) qui enverrait du texte a un
serveur.

ce serveur en connaitrait d'autre et enverrait le message =E0 celui qui
est le moins occup=E9

je voudrais savoir s'il y a moyen en java de connaitre la charge du
syst=E8me

merci

6 réponses

Avatar
JScoobyCed
collinm wrote:
salut

je voudrais créer une application (client) qui enverrait du texte a un
serveur.

ce serveur en connaitrait d'autre et enverrait le message à celui qui
est le moins occupé

je voudrais savoir s'il y a moyen en java de connaitre la charge du
système

merci



Bonjour,

Tout depend de ce que tu appelle la "charge du systeme":
- la disponibilite reseau ?
- l'utilisation CPU ?
- la disponibilite de la memoire?
- la disponibilite du disque dur?

A la base, si je ne me trompe pas, tu ne peux qu'avoir la memoire
disponible pour la JVM (en utilisant les flags de verification dans tes
parametres de demarage de la JVM)
Sinon, je suppose que le reste est possible en utilisant du JNI, mais ca
retire l'independance OS.

--
JSC

Avatar
Marc Collin
JScoobyCed wrote:

collinm wrote:
salut

je voudrais créer une application (client) qui enverrait du texte a un
serveur.

ce serveur en connaitrait d'autre et enverrait le message à celui qui
est le moins occupé

je voudrais savoir s'il y a moyen en java de connaitre la charge du
système

merci



Bonjour,

Tout depend de ce que tu appelle la "charge du systeme":
- la disponibilite reseau ?
- l'utilisation CPU ?
- la disponibilite de la memoire?
- la disponibilite du disque dur?

A la base, si je ne me trompe pas, tu ne peux qu'avoir la memoire
disponible pour la JVM (en utilisant les flags de verification dans tes
parametres de demarage de la JVM)
Sinon, je suppose que le reste est possible en utilisant du JNI, mais ca
retire l'independance OS.



je chercherais à obtenir l'utilisation cpu


Avatar
David
Le Thu, 17 Nov 2005 21:13:20 -0500, Marc Collin a écrit :
je chercherais à obtenir l'utilisation cpu


Sous linux tu lis le fichier /proc/loadavg

Avatar
Marc Collin
David wrote:

Le Thu, 17 Nov 2005 21:13:20 -0500, Marc Collin a écrit :
je chercherais à obtenir l'utilisation cpu


Sous linux tu lis le fichier /proc/loadavg


ça je sais... mais je veux savoir si c'est faisable en java....

si c'est pas possible, je me demande comment font les sysèmes en java qui
font du load balancing....


Avatar
Jacques-Olivier Haenni
Bonjour,

L'utilisation CPU n'est peut-être pas le seul critère qui vous intéresse.

Si vous voulez répartir uniformément le nombre de message sur les
différents serveurs, vous pouvez aussi simplement compter le nombre de
messages (en tenant compte peut-être de leur taille, voire de leur
complexité) en cours de traitement sur chacun des serveurs.

Bref, il peut être intéressant de mettre sur pied une mesure de charge
uniquement en Java et qui dépende de votre application (l'utilisation
CPU n'est pas toujours un bon indicateur; il est possible d'avoir une
machine qui n'avance plus malgré un taux d'utilisation CPU très bas (à
cause du swap par exemple); ça dépend de l'application).

Il y a donc des solutions pure Java; il faut juste bien définir le terme
"load" de l'expression "load balancing" :)

Jacques-Olivier


Marc Collin wrote:

David wrote:





je chercherais à obtenir l'utilisation cpu


Sous linux tu lis le fichier /proc/loadavg





ça je sais... mais je veux savoir si c'est faisable en java....

si c'est pas possible, je me demande comment font les sysèmes en java qui
font du load balancing....






Avatar
Cyril Siman
collinm wrote:

salut

je voudrais créer une application (client) qui enverrait du texte a un
serveur.

ce serveur en connaitrait d'autre et enverrait le message à celui qui
est le moins occupé

je voudrais savoir s'il y a moyen en java de connaitre la charge du
système

merci


Salut

A priori rien pour l'instant dans l'api java (1.5), mais plusieurs solutions
proposées via SNMP.

http://www.jrobin.org/api/workingexample.html

Bon courage.