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

Java Discussion :

Comment transformer une app. j2SE en cluster


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 12
    Points
    12
    Par défaut Comment transformer une app. j2SE en cluster
    Bonjour,

    J'ai réalisé une application J2SE qui fait de la conversion the protocol. Cette application était au départ prévue pour convertir + ou - 1000 requêtes par jour. Maintenant nous voudrions l'utiliser pour convertir 100 x plus de requêtes dans un même délais. Si je fais cela avec une seule instance de mon application elle devient trop lente. Je voudrais savoir quelles techniques pourrait-être utiliser pour permettre de démarrer différente instances de cette application en parallele lorsque cela est nécessaire en cas de surchage.
    Est-ce possible? Si oui, quelle est le meillleur technique à envisager?

    Merci d'avance pour vos réponses.

    Remi.

  2. #2
    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
    la question serait de savoir ce qui ralenti. Si c'est le CPU ou le swapping du à la charge mémoire, va falloir agrandir la machine qui héberge l'application. Si c'est l'application qui s"écroule suite au nombre de threads et la synchronisation, faut regarder à limiter les thread à la quantité la plus performante. Si c'est des délais de lecture sur de gros fichiers, faut mettre pls de threads en parallèle (avec le problème que, de toutes façons, tu va etre limité par les accès disque).


    normalement, si on lance du clustering, ça sous entends plusieurs machine. Pourrais tu détailler le problème?

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    En fait mon application est multhread mais j'ai quelques points de synchronization dans mon code qui font que à partir du moment o?u mon nombre de threads est trop élevé toutes les requêtes sont ralenties. Je vourdrais donc faire un système où, lorsque l'on atteint un certain nombre de requêtes une nouvelle instance est démarrer pour prendre en charge une partie de ces requêtes. Je pense finalement me diriger vers un système avec load balancing.

  4. #4
    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
    Si je calcule, 1000 requetes / jour ça fait une requete toutes les minutes 30. Je suis pas convaincu que les points de synchronisation soient en cause avec un débit aussi faible. Parce que ça signifie que le travail d'un thread est de +- 1minutes. Si tu peux faire du loadbalacning, c'est que le travail de ces threads est indépendant (chaque requete est autonome) et donc la synchro ne devrait avoir lieu qu'après réalisation du travail. Si tu peux faire du loadbalancing ou du clustering sur ton application, c'est vraisemblablement que tu peux te passer des points de synchronisation couteux. Ou alors c'est que tes threads glandent méchament et faut revoir le design. Un profiler pourrait aider à trouver les points d'attente. Quelle est la charge CPU pendant la montée en charge?

Discussions similaires

  1. Comment transformer une variable en fichier
    Par TuRn3r dans le forum C++
    Réponses: 4
    Dernier message: 21/04/2006, 14h25
  2. Réponses: 2
    Dernier message: 03/10/2005, 16h23
  3. Réponses: 1
    Dernier message: 07/09/2005, 22h15
  4. [JDBC]comment transformer une inpustream en un BLOB
    Par lalakers dans le forum JDBC
    Réponses: 8
    Dernier message: 18/08/2005, 19h56
  5. Réponses: 2
    Dernier message: 14/01/2005, 15h40

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