|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 48 ![]() |
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). |
|
|
00
|
|
|
#3 | |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Citation:
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 ? |
|
|
|
00
|
|
|
#4 | |
|
Invité(e)
Messages : n/a ![]() |
Citation:
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 |
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
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 ? |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Développeur Java Inscription : juillet 2004 Messages : 204 ![]() |
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 ? |
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
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 |
|
|
00
|
|
|
#9 | |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Citation:
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. |
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
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 ? |
|
|
00
|
|
|
#11 | |
|
Invité(e)
Messages : n/a ![]() |
Citation:
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 48 ![]() |
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 |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
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. |
|
|
00
|
|
|
#14 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
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 |
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 657 ![]() |
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.
__________________
Gagnez une place pour Devoxx France 2012 |
|
00
|
|
|
#16 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Perso, je ne fais que des tests hors Eclipse mais le démarrage est vraiment long..
|
|
|
00
|
|
|
#17 | |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 657 ![]() |
Citation:
Pour cela le mieux et une appli Web.
__________________
Gagnez une place pour Devoxx France 2012 |
|
|
00
|
|
|
#18 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
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) |
|
|
00
|
|
|
#19 | |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 657 ![]() |
Citation:
__________________
Gagnez une place pour Devoxx France 2012 |
|
|
00
|
|
|
#20 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Donc nous sommes d'accord lol. Oui c'est vrai que je n'y avais pas pensé
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com