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

Frameworks Web Java Discussion :

Framework J2EE le plus rapide à afficher les pages


Sujet :

Frameworks Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut Framework J2EE le plus rapide à afficher les pages
    Bonjour à tous

    La question délicate du jour est :
    Quel est d'après vous le framework J2EE le plus rapide ? Quand je dis "rapide", cela signifie que la page se charge le plus vite possible pour l'utilisateur.

    Par exemple, j'ai essayé Struts 2.0.9 récemment et je le trouve particulièrement lent (2-3 secondes) pour afficher une page banale.

    Bien évidemment, on ne prend pas en compte le temps de la première compilation de la jsp par le serveur d'application.

    J'ai aussi entendu que Ruby était très lent également.

    Bref, une idée du plus rapide ? Struts ? JSF ? Autres ?

    A vous

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    En même temps, tester avec une seule requête ce n'est pas forcément très représentatif des performances du framework. Il faudrait mieux faire des tests avec JMeter avec le nombre moyen d'utilisateurs de ton site.

    Par contre, je n'ai jamais vu de comparatif de performances des différents frameworks web. On cherche plutôt en priorité la productivité plutôt que les performances.

  3. #3
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut
    Ok merci pour ta réponse.

    Pour information, mon appli Struts2, que je sois seul à l'utiliser ou plusieurs, les temps de réponse toutes les pages sont les mêmes. C'est à dire un petit délai entre le clic et l'affichage (alors qu'il n'y a pas de calcul à faire). Je suppose que c'est la lourdeur du framework qui implique ces conséquences. Pour info, je n'ai pas mis bcp d'interceptors sur mes pages (concept repris par Struts 2).

    La question reste entière :
    Quelqu'un a t-il pu comparer les performances de Struts/JSF/Struts2/Spring MVC/... ?

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Question délicate en effet.

    Je n'ai pas vraiment fait de comparatif entre plusirus frameworks, mais juste pour dire que selon mon expérience, JSF est tout sauf une foudre de vitesse.
    J'en parle ici un peu.

  5. #5
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut
    Merci pour ce lien intéressant.

    Au sujet du message sur le temps CPU sur le blog :
    Nous savons tous que le javascript est une grosse merde qui pompe un max de ressource. Donc ce n'est pas surprenant que ton temps CPU sera en majeure partie pris par ajax. Ta partie métier et ta partie d'accès aux données sont faites en Java, langage bien moins rapide que le C++ mais tellement plus que le javascript

    Bon sinon
    Question délicate en effet
    Tout à fait. Sur le web, on trouve beaucoup de commentaires sur les frameworks, mais rarement concernant les performances. Hors, chez nous, c'est extrêmement important. Quand je vois le temps que met Struts 2 à afficher un "hello world" i18n, je me dis "mais où va t-on"

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Nous savons tous que le javascript est une grosse merde qui pompe un max de ressource. Donc ce n'est pas surprenant que ton temps CPU sera en majeure partie pris par ajax. Ta partie métier et ta partie d'accès aux données sont faites en Java, langage bien moins rapide que le C++ mais tellement plus que le javascript
    Je ne suis pas sûr de te suivre là: le JS s'exécute du côté client, or les mesures e performances que j'ai réalisé sont côté serveur, donc, jene vois pas bien le rapport

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Bonjour à tous

    La question délicate du jour est :
    Quel est d'après vous le framework J2EE le plus rapide ? Quand je dis "rapide", cela signifie que la page se charge le plus vite possible pour l'utilisateur.

    Par exemple, j'ai essayé Struts 2.0.9 récemment et je le trouve particulièrement lent (2-3 secondes) pour afficher une page banale.

    Bien évidemment, on ne prend pas en compte le temps de la première compilation de la jsp par le serveur d'application.

    J'ai aussi entendu que Ruby était très lent également.

    Bref, une idée du plus rapide ? Struts ? JSF ? Autres ?

    A vous
    Bonsoir,

    C'est vrai que pratiquement personne ne compare les perfs des frameworks web alors que c'est une caractéristique importante des frameworks. En fonction du type d'appli que l'on envisage, ça peut même être un critère déterminant. Ainsi, certains frameworks seront plus adaptés à des applis complexes et dynamiques (je pense à Wicket par exemple) tandis que d'autres pourront tenir une charge élevée pour un site à forte audience, mais relativement peu interactifs. Personnellement, je pense qu'il n'existe pas de framework adapté à toutes les situations, et donc il faut choisir le framework en fonction du type d'application envisagé.

    L'absence de comparaison peut s'expliquer par le fait que peu de gens maitrisent plus d'un ou deux frameworks. Idéalement, il faudrait que tous les frameworks viennent avec une implémentation d'un même site web, le pet shop de Sun par ex. Cela permettrait de faire une comparaison des frameworks sur un exemple complet.

    J'avais fait une petite recherche sur les perfs il y a quelques semaines et je suis tombé sur un blog:
    http://javajmc.blogspot.com/2006/10/...rformance.html

    Technology - Hits per second with 1 user / 10 users:

    Struts 1 - 109 / 191
    Stripes - 88 / 140
    WW2/SAF2 with default FreeMarker templates - 12 / 7
    WW2/SAF2 with Velocity templates - 22 / 15
    JSF - 27 / 40

    Comme tu le vois, les résultats du blogger et des commentaires du blog confirment la relative lenteur observée de Struts 2/WebWorks2 et de JSF par rapport à Struts. Le seul framework testé qui tienne la comparaison par rapport à Struts est Stripes (encore un bon point pour ce framework réputé simple et excellent).

    Mais ensuite, la lenteur du framework de présentation n'est qu'une partie de l'équation, car il faut lui ajouter la lenteur des requêtes en BD qui est souvent déterminante (dans le cas de JSF, ce serait quand même JSF qui est déterminant).
    Ceci étant, dans les cas finalement assez rares où la vitesse est vraiment déterminante (des centaines ou milliers de connexions simultanées), il vaut p-ê mieux faire du PHP, car même si le langage est lui-même plus lent que Java, PHP est généralement bcp moins lourd qu'une pile JEE.

  8. #8
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Très intéressant
    Comme c'est montré dans le lien donné par el muchacho, un classique dans le genre bouffeur de CPU est OGNL qqui est justement le dénominateur commun entre WebWork et Struts 2.

    Et justement, l'équipe de Wicket s'en est débarassé comme évaluateur d'expressions pour leur propre implémentation à cause de ça dans la version 1.2.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    En passant...

    Pour avoir utilisé struts 1.3 un grand nombre de fois, je peux te dire que les performances sont excellentes.
    Maintenant, avant de conclure quoi que se soit sur tel ou tel framework, il faudrait déjà savoir ce que tu as codé, le problème de lenteur est (à mon avis) plus spécialement là...

    Pour JSF, c'est surtout les taglibs d'IHM qui peuvent être gourmandes (RichFaces est relativement gourmand), mais bon, on veut du beau et du facile à mettre en oeuvre... il faut bien en payer le prix

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut
    Non non, on ne parle pas de ce que j'ai codé, ou même des accès BD.
    Je parle juste du fait d'afficher une bête page.

    D'une part, j'ai codé un framework J2EE à la main
    D'autre part, j'ai utilisé Struts2

    J'ai fait la même application (donc même code, même accès BD), et bien sous Struts2, on sent une certaine latence quand on clique sur les pages... A tel point que l'on se demande si on a vraiment cliqué. Je trouve cela assez hallucinant. Alors la, vous allez me dire qu'il y a la notion "d'interceptor" dans Struts2 et que j'en ai mis trop sur la page, que nenni. Une seconde, c'est trop long pour afficher un "Hello world" !

    En tout cas, merci à tous pour vos réponses.

    Je vais tester Struts 1 (je l'ai déjà utilisé il y a fort longtemps mais n'avait pas prête attention à d'éventuels temps de latence).

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tiboudchou Voir le message
    Je vais tester Struts 1 (je l'ai déjà utilisé il y a fort longtemps mais n'avait pas prête attention à d'éventuels temps de latence).
    Bon choix, même si c'est un peu vieux et qu'à priori il n'y aura plus (beaucoup) d'évolution sur ce framework.
    Au moins, tu trouveras plein d'aide (au cas où)...

    Pour moi, dans cette techno, le trio gagnant serait :
    - struts 1.3
    - struts-layout pour l'IHM
    - tiles

    (Après, pour la DB, c'est Hibernate...)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Le logo ne s'affiche plus sur toutes les pages
    Par JU_FR dans le forum WordPress
    Réponses: 1
    Dernier message: 22/08/2014, 17h12
  2. [EasyPHP] Impossible d'afficher les pages
    Par Franck.H dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/08/2008, 18h09
  3. Réponses: 2
    Dernier message: 04/04/2008, 12h54
  4. Comment afficher les pages suivantes d'un QuickReport ?
    Par bertrand_declerck dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/06/2005, 12h54

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