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 EE Discussion :

Amélioration temps de réponse


Sujet :

Java EE

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Points : 43
    Points
    43
    Par défaut Amélioration temps de réponse
    Bonjour à tous.

    Mon application emploie des EJB session stateless (version 2.0) couplés avec une Architecture MVC Spring. Le serveur d'application est JBoss 3.0.3 et la base de données Postgresql 8.1.

    1) J'ai lu quelque part (Je me souviens plus du site) que le fait de coupler Spring MVC avec les EJB 2.0 diminue la performance en temps de réponse. Est-ce que c'est vrai ?
    2) Est-ce que le fait de changer le type d'EJB en un EJB Entity CMP peut améliorer le temps de réponse ?
    3) Est-ce que les EJBs 3.0 sont plus performants et rapides que les EJB 2.0 ? Si oui, comment peut-on migrer d'un EJB 2.0 vers un EJB 3.0.

    J'ai d'autres question concernant les procédures stockées postgresql mais je crois que je vais les demander dans le forum postgresql.

    Merci d'avance.

    Au revoir.

  2. #2
    Membre confirmé
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Points : 555
    Points
    555
    Par défaut
    La premiere question à se poser est "Qu'est-ce qui fait que mes temps de réponses sont mauvais ?". Seule un profiling ou un test de performance peut répondre à cette question. Il ne faut pas 'accuser' sans preuves EJB 2.0, Spring MVC,..On est souvent surpris de voir que le temps passés en trop est souvent ailleurs...

    Pour revenir à tes questions:
    1/Spring MVC avec les EJB 2.0 diminue la performance en temps de réponse?. A priori non! Tu utilises le type d'EJB le plus performant. Coté client, as tu implémenté un cache des Home (Les lookups JNDI coutes tres tres chers!). Voir si Spring ne propose pas ce pattern dans son framework

    2/De EJB Sessions Stateless vers un EJB Entity CMP. D'abord ce n'est pas le meme modèle et donc pas la meme utilisation. Le pattern 'classique' est d'exposer un EJB Session Stateless qui va exposer des méthodes (services). L'implementation des services peut se baser (ou non) sur l'utilisation d'EJB entity CMP. Comment as tu implémentés ton acces aux données ? En natif par du JDBC ? un outil de type iBatis ou Hibernate ?...

    3/Est-ce que les EJBs 3.0 sont plus performants et rapides que les EJB 2.0 ? Du point de vue de la spécification, ca devrait mais ca reste à prouver.
    Benoit Moussaud - XebiaLabs - Automatisation des déploiements. Screencast & Demo

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    Il y a déjà eu une amélioration. J'ai oublié de fermer les connexions à la base
    (Accès aux données pure JDBC) et il a fallu fermer toutes les connexions. Maintenant, le système devient rapide.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 68
    Points : 48
    Points
    48
    Par défaut
    cette info m'interesse est ce que tu peux détailler comment tu fermes les connexions à la base? stp

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    Je peux déjà te dire que Spring c'est super lent, Spring couplé à JSF donne des performances execrables, je pense pas que ca soit différent avec Spring MVC ...

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Je peux déjà te dire que Spring c'est super lent, Spring couplé à JSF donne des performances execrables, je pense pas que ca soit différent avec Spring MVC ...
    Lent par rapport à quoi ?
    Une subaru, c'est lent ?
    Par rapport à une F1 oui, par rapport à une 2CV, non...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 68
    Points : 48
    Points
    48
    Par défaut
    c'est sure tout est relatif, mais dans mon application le temps de réponse peut aller jusqu'a 5 secondes ...

  8. #8
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Ou passe-tu le plus de temps ?
    Ca peut-être la base de données qui a trop à faire.
    Essaie de mettre des "sondes" dans ton code pour voir où tu passe le plus de temps.

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par rocel
    cette info m'interesse est ce que tu peux détailler comment tu fermes les connexions à la base? stp
    Ca dépend un peu de comment tu la prends... pool de connexion ou JDBC.
    En JDBC ce serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Connection connection = null;
    try
    {
       connection = DriverManager... ou autre
    ...
    }
    catch (Throwable t)
    {
    }
    finally
    {
       if ( connection != null ) connection.close(); // Tout simplement
    }
    a+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/10/2010, 11h56
  2. Amélioration d'un temps de réponse
    Par thatsallfunk dans le forum Administration
    Réponses: 9
    Dernier message: 02/02/2009, 12h09
  3. Améliorer temps de réponse d'une BDD Access
    Par pontoise dans le forum Access
    Réponses: 2
    Dernier message: 07/06/2007, 08h42
  4. CpteDom - amélioration des temps de réponse
    Par Domi2 dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2006, 14h29
  5. [Optimisation] Améliorer les temps de réponse
    Par n@n¤u dans le forum JOnAS
    Réponses: 5
    Dernier message: 24/08/2006, 11h04

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