Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2007, 17h04   #1
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Par défaut [2.2.0] [XML -> PDF]Pb de performances

J'essaie d'utiliser BIRT pour l'édition des bulletins de salaire de ma boite.
La source de donnée est un fichier xml petit et peu complexe, il y a juste un nombre de poste de paie variable.
Le bulletin pdf doit pouvoir gérer plusieurs page en répétant l'entete et le bas de page.
Je pense avoir fait ce projet de façon correcte, mais j'ai un pb de perf évidente : un bulletin de 2 pages, met 15 à 20 sec à se générer.
J'ai quelques colonnes dynamiques mais j'avais les même perf avant.
J'ai testé avec la preview du designer ou sur un tomcat avec le runtime de birt et j'ai pas constaté de gain en perf.
Des idées?
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 00h23   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
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 299
Points : 8 650
Points : 8 650
Bonjour,

Le premier démarrage du moteur est long mais ensuite la génération de page est assez rapide en général.

Fais attention que tu ne redémarres pas le Report Engine à chaque génération, sinon t'en a pour 2 ou 3 siècles
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 14h44   #3
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Bonjour,

Sur tomcat il n'y a pas raison que le report engine soit redémarré à chaque appel, enfin je ne vois pas pourquoi et je ne fais rien pour que ce soit le cas.
Est-ce que chaque modification au report implique une recompilation ou generation quelconque qui fait perdre du temps?
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 23h58   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
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 299
Points : 8 650
Points : 8 650
Non mais si tu fais engine.destroy() ou un truc dans le genre, ben ca redemarre a chaque fois
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 10h28   #5
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Pour le coup, j'utilise même pas java, je fais appel à la servlet du birt engine "birt/frameset?__report=bulletin.rptdesign&__format=PDF" avec le navigateur.
J'ai testé successivement plusieurs fois le même appel, la premiere fois 3 minutes, et 40 secondes tous les appels successifs.
Je peux vous fournir le report et le xml que je parse si ça peut vous aider à voir pourquoi j'ai de telle perf. Je veux bien faire mes appel en java, mais seulement si ça améliore les perf car faudra que j'adapte pas mal mon architecture, là c'était pas mal découplé.
Merci de votre aide en tout cas .
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h42   #6
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Bonjour,
Actuellement j'ai l'architecture suivante :
Cocoon (framework web basé sur xml/xslt) sert de frontend web, et mes bulletins sont générés par Birt qui se base sur un seul et même projet .rptdesign .
Pour chaque bulletin seul le chemin vers la source de donnée (fichier xml) va changé. Je me servais jusqu'à maintenant de cocoon pour créer un nouveau .rptdesign temporaire avec le bon chemin (très simple avec cocoon) puis je faisais un appel web à la servlet standard de Birt pour générer le pdf.

Si re-design mon architecture en créant une servlet spécifique pourrai-je ne charger le projet qu'une fois et simplement changer le chemin de la source de donnée? Vais-je gagné en perf?
Est-ce que c'est cette étape qui est lourde en cpu?

De même j'ai certaines colonnes calculées dans Birt, mais je peux tout aussi bien les calculer en amont (XSLT) si Birt n'est pas performant dans cette tâche.

Un exemple de mon projet et d'une source xml est disponible sur ce post : http://www.developpez.net/forums/sho...45&postcount=7
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h57   #7
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
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 299
Points : 8 650
Points : 8 650
J'ai remarqué en essayant ton exemple la dernière fois un gros problème de lenteur en effet. Je me demandais si tu avais essayé de faire la même chose à partir d'une petite base de données pour voir si ca vient de la connexion ou du design.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 15h23   #8
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Je vais finir par faire ce test.
En tout cas, plus ça semble 2 fois plus long quand on passe de 1 pages à 2.
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 18h33   #9
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
En passant à 2 fichiers csv à la place du fichier xml, je passe à :
  • 3 sec pour une page, contre 20 sec.
  • 5 sec pour 2 pages contre 40 sec.
Mais le xml est supposé être mon format d'échange standard, je vais avoir du mal à adapter mon architecture.
Ou alors j'ai fait une bourde dans le binding xml?
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 19h29   #10
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
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 299
Points : 8 650
Points : 8 650
Peut être qu'avec un fichier qui indique le schéma du XML, ca ira plus vite.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 10h34   #11
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Je sais pas comment fonctionne Birt, mais les schémas XML c'est juste pour pouvoir valider des xml conformément à un modèle.
Les accès semblent être géré en XPATH.
Je vais peut être repartir sur fop :-/.
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 10h43   #12
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
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 299
Points : 8 650
Points : 8 650
Citation:
Envoyé par Morbo
Je sais pas comment fonctionne Birt, mais les schémas XML c'est juste pour pouvoir valider des xml conformément à un modèle.
Les accès semblent être géré en XPATH.
Je vais peut être repartir sur fop :-/.
Sans ca, tu peux faire le traitement de tes données avant génération afin de faire des Scripted Data Set, dans ce cas là, tu utilises une autre méthode de parsing XML que tu gères toi même. Ca te permet aussi d'en changer au cas où tu trouverais plus performant.

Mais c'est quand même étrange. Les résultats dans le Preview du Data Set sont bien plus rapides comparés aux résultats dans le Preview du Report.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 11h43   #13
Membre Expert
 
Inscription : septembre 2006
Messages : 1 466
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 466
Points : 1 593
Points : 1 593
Apparemment c'est un bug "résolu" de perf : https://bugs.eclipse.org/bugs/show_bug.cgi?id=140773
Connu depuis mai 2006 :
http://dev.eclipse.org/newslists/new.../msg09191.html
Apparemment, faudrait limiter le nombre de colonnes par dataset et le nombre de dataset par xml . En gros perdre l'intéret des arbres du xml pour faire des fichier csv.

Et en effet, ça peut se contourner avec des Scripted Datasets, mais bonjour l'evolutivité.
Chaque fois que mon xml va évoluer, je serai obliger de retoucher et compiler ma classe java custom. A moins de trouver quelquechose de générique.

Sinon faudrait que je pousse un peu mon convertisseur rptdesign -> xsl-fo, vu que le pdf en sortie peut me suffire.
Morbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 11h54   #14
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
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 299
Points : 8 650
Points : 8 650
Oui mais finalement il n'a jamais été vraiment résolu si tu lis jusqu'au bout.

Pour plus d'infos pour réduire ton temps de chargement :
http://www.developpez.net/forums/arc.../t-271365.html

D'autre part, j'ai trouvé une discussion sur le newsgroup de BIRT, c'est un français qui avait eu le problème : http://dev.eclipse.org/newslists/new.../msg10854.html

Si tu as le courage, tu peux peut-être leur proposer d'implémenter une autre méthode de parsing au XML Data Source.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h36.


 
 
 
 
Partenaires

Hébergement Web