Hi,
I am using jasperServer 3.5 with Oracle 10g on windows xp and JBoss, whan I running the reports the JS is very slow, and
most reports are still stuck.
note
: the query due to a large volume of data in the database (8 million records)
Thanks
Samer Zohdi
14 Answers:
JasperServer/JasperReports cannot help if your queries are slow. You will have to optimize them.
If you are generating large reports (numbers of pages), the server pages the content out to disk to avoid out of memory problems.
Are you running out of memory? Try giving at least 2GB to the JVM.
Sherman
Jaspersoft
Also, if you are using JDBC, there is a limited number of database connections pooled by JasperServer - the default is 5 - so if you have a number of reports running at once, they may block until a connection becomes available. You can change the pool size setting in WEB-INF/applicationContext.xml or use JNDI connections to set a larger pool size.
Sherman
Jaspersoft
I'm having similar problems. The performance of the query in the db it's ok but reports takes a long of time to load, (sometimes they don't even load).
I'm using DB2, 2GB ATHLON X64 X2 5000+ pc
Heres my configuration in my domain.xml:
<jvm-options>-Xms128m</jvm-options>
<jvm-options>-Xmx512m</jvm-options>
<jvm-options>-XX:PermSize=512m</jvm-options>
<jvm-options>-XX:MaxPermSize=512m</jvm-options>
<jvm-options>-Xss2m</jvm-options>
<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>
<jvm-options>-XX:+CMSClassUnloadingEnabled</jvm-options>
<jvm-options>-Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl</jvm-options>
<jvm-options>-Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl</jvm-options>
<jvm-options>-Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl</jvm-options>
Suggested configuration doesnt work for me.
I manage to upgrade performance by setting the following configuration:
<jvm-options>-Xms1024m</jvm-options>
<jvm-options>-Xmx2048m</jvm-options>
<jvm-options>-XX:PermSize=128m</jvm-options>
<jvm-options>-XX:MaxPermSize=512m</jvm-options>
<jvm-options>-Xss2m</jvm-options>
<jvm-options>-XX:+UseConcMarkSweepGC</jvm-options>
<jvm-options>-XX:+CMSClassUnloadingEnabled</jvm-options>
<jvm-options>-Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl</jvm-options>
<jvm-options>-Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl</jvm-options>
But the export to excel option is still imposible... it just keep de tab loading all the time.
Post Edited by acidcube at 04/06/2010 19:26
You can try these two things :-
1. You can also get better performance by changing the Virtulizer setting in applicationContext.xml ( if your report has large number of number of pages)
Default :-
<bean id="fileVirtualizerFactory" class="com.jaspersoft.jasperserver.api.engine.common.service.impl.FileVirtualizerFactory">
<property name="maxSize" value="300"/>
<property name="directory" value="${java.io.tmpdir}"/>
</bean>
Change to use Gzip virtulizer :-
To use it, change the class of the fileVirtualizerFactory bean in
applicationContext.xml to
com.jaspersoft.jasperserver.api.engine.common.service.impl.GZipVirtualize=
rFactory,
and remove the directory property
2. change the mxSize property to keep all pages in memory
( this has been tested internally to for sure improve the performance )
thanks
ramnik
Ok I tried what you suggested and it seemed to speed up small reports and any kind of preview content
But exporting to excel it's still terribly slow or should I say, imposible to produce?, One of my reports produce around 41k rows ,25 columns(resulting in 1700 pages), The query is not the bottle neck, I tested it.
Any advice that you could give me for this? Tnx a lot
Post Edited by acidcube at 04/06/2010 23:00
Thank you Sherman for your reply.
Decreasing MaxPermSIze seems to only make things worse , html previews gets slower, menu it's slower, and exports in general seems to be slower. That's the reason why I set MaxPermSize to 512m.
I haven't check if the JVM consume the whole 2G ( In fact I don't really know how to) but it seems that it definetly takes a lot of memory on large exports, small, medium size reports seems ok.
Is there any way, to optimize JasperServer or the report itself to make it faster for large reports exports?(Excel Reports, Pdf seems to work ok).
-I already tried to make fields in the reports with the smallest posible height (so it decrease the number of pages)
- Set Xmx Xmx PermSize MaxPerm size to several convinations...
Is it normal that I can export large Reports to PDF but not to xls ,cvs or excel like files?
Thanks in advance
Based on our internal Performance testing :- ( working with 6 GB JVM memory)
1. We can export to pdf , excel and csv very well . we have tried it with 10,000 pages report although it is slow bcaz of large number of pages in rpeort
2. the reponse time to export to pdf and excel is approx same and for csv it is even less that export to pdf
hope it helps ..
ramnik