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

Tomcat et TomEE Java Discussion :

Performance et problème affichage données


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Performance et problème affichage données
    Bonjour,

    Je travaille sur un projet développé avec Eclipse RCP et nous générons une application web (war) avec RAP.

    Le projet consiste à afficher en temps réel sous forme de graph (courbe), des données reçues en continu. Au bout d'une heure environ, le graph et l'horloge ne se mettent plus à jour (interface figée).

    Lorsque l'on clique avec la souris, les données non affichées pendant la "déconnexion" sont reaffichées et l'affichage se poursuit jusqu'au prochain problème d'affichage.

    Mon hypothèse est la suivante:
    Le serveur Tomcat ne répond plus au GET du client car il considère que le client n'est plus connecté au bout d'un certain temps.

    Je suis en train de mettre à jour le connecter dans le serveur.xml mais je ne sais pas quelles propriétés modifier : keepalive, timeout, buffer ?

    Pensez-vous que mon hypothèse se tient et si oui quels seraient les paramètres à modifier ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Ton application fonctionne par polling, par GET ? Avec quelle fréquence ? Peut être simplement configurer le timeout de session à "unlimited" :

    <session-config>
    <session-timeout>-1</session-timeout>
    </session-config>
    (dans le web.xml)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Bonjour Joel,

    Merci d avoir repondu rapidement.
    En effet le client fait des GET avec une frequence elevée (toutes les sec il me semble) mais au bout d un heure alors que les donnees arrivent en continue l affichage ne se fait plus et l horloge s arrete.
    lorsque l on click sur la page web l affichage en temps reel reprend (avec les donnees non affichees).
    Mon idée est de mettre un keepAlive à -1 afin que le serveur ne perd pas la connexion. car j ai l impression qu il pense que le client s est deconnecté comme une mise en veille sur un PC.
    je modifirai le connector dans le serveur.xml comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="60000" 
     
                   redirectPort="8443" 
                   compression="on"
                   compressionMinSize="1024"
                   compressableMimeType="text/html,text/xml,text/plain,text/javascript,application/json"/>
    en ajoutant le keepAlive si existe pour ce connector keepAliveTimeout à -1

    Qu en penses tu ?

    je vais egalement essayer ta solution.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Si tu fais une requête toutes les secondes, je ne pense pas que ça soit un problème de timeout finalement. Tu utilises bien une session unique, je suppose ? Je pose la question comme ça pour être sûr, mais j'ai comme l'impression que ça viendrait plutôt de ton appli RAP que de la configuration du tomcat. Tu as regardé l'état de tes threads, en exécutant l'appli en mode debug ? (tu suspends tous les threads quand ton affichage gèle, et tu regardes dans quelles méthodes les threads se trouvent).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Lorsqu'un seul client est connecté (1 session) tout se passe bien et mon application fonctionne plusieurs heures (test réalisé pendant 10 heures).
    Mais lorsqu'un second client se connecte à l'url le premier client ne met plus à jour les données temps réel.

    Tu as regardé l'état de tes threads, en exécutant l'appli en mode debug ?
    Comment faire cela ? en utilisant les outils de debugage tomcat ?

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2002
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 360
    Points : 3 614
    Points
    3 614
    Par défaut
    Citation Envoyé par devjava83 Voir le message
    Lorsqu'un seul client est connecté (1 session) tout se passe bien et mon application fonctionne plusieurs heures (test réalisé pendant 10 heures).
    Mais lorsqu'un second client se connecte à l'url le premier client ne met plus à jour les données temps réel.



    Comment faire cela ? en utilisant les outils de debugage tomcat ?
    Je pense que la meilleur idée est de faire un thread dump comme indiqué au dessus

    Tu peux utiliser visualvm pour le faire

Discussions similaires

  1. Problème affichage données dans listview
    Par Alixe80 dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 13/05/2008, 20h42
  2. Etat - Access - Problème affichage données
    Par om-player dans le forum Access
    Réponses: 2
    Dernier message: 07/01/2008, 10h12
  3. [MySQL] problème affichage donnée php mysql
    Par tondeuz dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 22/06/2007, 12h16
  4. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27
  5. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50

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