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

BIRT Discussion :

C'est lent !!


Sujet :

BIRT

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut C'est lent !!
    Bonjour,

    J'ai crée un dataset, qui a partir d'une requete SQL comprenant une jointure, sort une table de 230.000 lignes.
    J'essaye dans mon etat de faire la somme de toutes ces lignes, dans le footer d'un simple tableau, avec la fonction total.count()
    Quand je veux prévisualiser le resultat, ca prend un temps infini, il ne s'en sort pas, je suis obligé d'arretter le previsualisation apres 5 minutes alors que BIRT n'a toujours rien affiché.

    La requete SQL est certe un peu longue a executer, elle prend environ 10 secondes si je l'execute directement depuis le SGBD (j'ai essayé avec Access et Mysql).

    Avez vous deja eu des experiences de lenteur de ce type avec BIRT ?

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 46
    Points : 43
    Points
    43
    Par défaut
    Pour faire la somme, je vous conseille Total.sum() plus adapté :-P
    Sinon, en ce qui concerne la lenteur, j'ai déjà constaté qu'il fallait soit optimisé la requête soit définir dans les options de prévisualisation un nombre de ligne plus restreint (genre 100 lignes, ce qui suffit pour des tests).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par BenderJay
    Pour faire la somme, je vous conseille Total.sum() plus adapté :-P
    Sinon, en ce qui concerne la lenteur, j'ai déjà constaté qu'il fallait soit optimisé la requête soit définir dans les options de prévisualisation un nombre de ligne plus restreint (genre 100 lignes, ce qui suffit pour des tests).
    je ne veux pas faire la somme, je veux compter et afficher le nombre total d'enregistrements dans mon dataset.

    je veux bien modifier les options de previsualisation, mais une fois en prod, le moteur sera obligé de faire tout le calcul, le probleme sera toujours la.
    ou bien ?

  4. #4
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par tatayoyo
    Bonjour,
    Avez vous deja eu des experiences de lenteur de ce type avec BIRT ?

    Si c'est en milieu pro mieux vaut prendre des outils qui ont fait leur preuve comme Crystal Report.
    Je ne connais pas BIRT mais c'est Open Source , s'appuie sur Java et pas forcément optimisé
    Crystal Report c'est la réference

    Bon c'est mon point de vue.
    Sinon prendre un SGBD qui permet les procédures stockées ; Access ne le permet pas.
    SI c'est avec MySQL programmer en natif

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    c'est pour une application dans un labo de recherche, ca me fait un peu chier de payer une license Crystal, et je ne sais meme pas si crystal se comportera mieux que BIRT.
    par curiosité, combien coute une license pour Crystal ?

  6. #6
    Membre régulier
    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
    Points : 103
    Points
    103
    Par défaut
    BIRT est très performant,
    Seulement tu dois utiliser le rhinoscript pour que cela soit lent.
    Perso, je l'utilise avec du Java et il est rapide sur une BD Oracle qui a des centaines de millions de lignes et bien indexée
    Qui plus est, BIRT est gratuit, que demander de plus ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par tiboudchou
    BIRT est très performant,
    Seulement tu dois utiliser le rhinoscript pour que cela soit lent.
    Perso, je l'utilise avec du Java et il est rapide sur une BD Oracle qui a des centaines de millions de lignes et bien indexée
    Qui plus est, BIRT est gratuit, que demander de plus ?
    C'est quoi le rhinoscript ?

  8. #8
    Nouveau membre du Club Avatar de maxscljava
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 48
    Points : 26
    Points
    26
    Par défaut
    Salut,

    Je suis assez d'accord avec ce qui ce dit plus bas, en effet avant d'afficher un rapport quelqu'il soit il faut d'abord optimiser la query, je travaille avec BIRT, JAva et DB2 qui gère pour la plus petites table + d'1 million de record et effectivement s'il la query est bonne avec de bons index et bien no problemo, j'obtiens des temps de réponses en dessous des 10 secondes.

    Je suggère donc de revoir la query et de la tester individuellement et lorsque le temps de réponse est satisfaisant alors là commencer à générer le report.

    Bonne continuation
    maxscljava

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par maxscljava
    Salut,

    Je suis assez d'accord avec ce qui ce dit plus bas, en effet avant d'afficher un rapport quelqu'il soit il faut d'abord optimiser la query, je travaille avec BIRT, JAva et DB2 qui gère pour la plus petites table + d'1 million de record et effectivement s'il la query est bonne avec de bons index et bien no problemo, j'obtiens des temps de réponses en dessous des 10 secondes.

    Je suggère donc de revoir la query et de la tester individuellement et lorsque le temps de réponse est satisfaisant alors là commencer à générer le report.

    Bonne continuation
    maxscljava
    Le temps d'execution de la query est de 8 secondes environ, directement executé depuis le SGBD. c'est pas la mort non plus.
    Sous BIRT, l'execution du rapport ne fini jamais. Meme au bout de 5 minutes, alors que je ne demande a afficher que la somme de tous les rows du dataset.

    le calcul du dataset et le reste des calculs fait par BIRT sont independants non ? BIRT devrait d'abord calculer le dataset (executer la query) puis faire ses traitement, et c'est sur cette deuxieme partie qu'il a l'air de ramer severement si il y a trop de lignes dans le dataset.

    Si je fais la meme query dans mon dataset avec un "limit 100" en plus, il y arrive, si je laisse les 230.000 lignes, il n'y arrive plus.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    ma requete etait certes un peu compliquée, j'ai donc créé une nouvelle table qui contient le resultat de ma query.
    je n'ai alors qu'a faire un select * from ma_nouvelle_table sous BIRT.
    j'ai toujours la meme lenteur.

    quelqu'un a deja mis en place des table (groupe) BIRT sur des dataset de plus de 200.000 lignes sans lenteur ?

  11. #11
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par tatayoyo
    et je ne sais meme pas si crystal se comportera mieux que BIRT.
    par curiosité, combien coute une license pour Crystal ?
    Crystal est assez performant j'en ai toujours entendu que du bien en milieu professionnel.

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 46
    Points : 43
    Points
    43
    Par défaut
    Petit conseil :
    J'ai déjà eu l'expérience de requêtes assez longues à réaliser (voire qui saturaient la machine virtuelle java). Pour exécuter les requêtes beaucoup plus rapidement et sans plantage : je place mes rapports sur un serveur tomcat (de développement) et j'y exécute les rapports qui s'affichent alors nettement plus vite ! Je n'utilise plus la prévisualisation de BIRT

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 103
    Points
    103
    Par défaut
    Pour vous tenir au courant de mes petites histoires :
    Suite a une discussion sur mon probleme avec un des gars de BIRT, il m'a conseillé sur leur forum d'ouvrir un fil dédié a mon probleme sur leur liste dediée aux bug de BIRT.

    Je test actuellement Crystal XI, pour le meme probleme il s'en sort assez bien.
    C'est un peu tout de meme, mais quelques secondes simplement.

  14. #14
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Perso, j'ai testé Crystal Report et il n'ai pas encore bien implémenté pour Java donc finalement j'ai décidé de prendre BIRT. Par contre, la lenteur je la trouve au chargement, avant même que l'état ne fasse quoique ce soit...

    Il met à peu près 3 à 5 secondes à démarrer et ensuite il s'éxécute (et là j'attend patiemment )

  15. #15
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Il faut aussi regarder ton environnement pour voir pourquoi c'est lent .
    Car si tu lances en preview dans Eclipse c'est un peu normal..
    1 c'est ta machine qui travaille donc tu n'as pas forcément de super perf.
    2 tu est dans eclipse qui est déjà une appli gourmande.
    3 t'as JVM partagé avec eclipse est-elle bien dimensionnée pour suporté un tel volume de donnée?

    As-tu fais un test avec un moteur birt hors Eclipse soit en ligne de commande, soit avec lawebbapps sur unserveur tomcat.
    Attention à mettre au moins -Xmx=256M sur ton serveur tomcat si tu as de gros rapport.

  16. #16
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Perso, je ne fais que des tests hors Eclipse mais le démarrage est vraiment long..

  17. #17
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par BiM
    Perso, je ne fais que des tests hors Eclipse mais le démarrage est vraiment long..
    Le démarrage du moteur BIrt mets entre 10 et 20 s chez moi, c'est pour cela qu'il faut une appli qui lance le moteur une fois et qui le réutilse pour chaque génération car on regagne le temps de démarrage.
    Pour cela le mieux et une appli Web.

  18. #18
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ben j'ai une appli web mais quand tu as plusieurs client, cela ne prend pas de place en mémoire ?

    Tu veux dire que tu fais un getInstance() plutôt que de recréer la classe ? (Si c'est le cas appli web ou non, c'est la même histoire lol)

  19. #19
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par BiM
    Ben j'ai une appli web mais quand tu as plusieurs client, cela ne prend pas de place en mémoire ?

    Tu veux dire que tu fais un getInstance() plutôt que de recréer la classe ? (Si c'est le cas appli web ou non, c'est la même histoire lol)
    non, j'ai mis un seul moteur en singleton au démarage de ma webapps, donc tous mes clients utilise le même moteur Birt.

  20. #20
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Donc nous sommes d'accord lol. Oui c'est vrai que je n'y avais pas pensé Merci !!!

Discussions similaires

  1. Winmerge est lent
    Par nolan76 dans le forum Autres
    Réponses: 1
    Dernier message: 02/06/2006, 11h23
  2. Si le forum est lent chez vous : soluce
    Par Marc Lussac dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 4
    Dernier message: 22/04/2006, 11h01
  3. Pourquoi cette requête est lente ?
    Par zenzo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/01/2006, 15h15
  4. Ma machine est lente
    Par Le Furet dans le forum Windows XP
    Réponses: 3
    Dernier message: 20/11/2005, 19h04
  5. [FLASH MX] C'est lent ?
    Par lepierre dans le forum Flash
    Réponses: 14
    Dernier message: 01/02/2005, 10h39

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