Jump to content
Changes to the Jaspersoft community edition download ×

JasperServer reports are very slow!!!


samerzohdi

Recommended Posts

  • Replies 14
  • Created
  • Last Reply

Top Posters In This Topic

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 4 months later...

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
Link to comment
Share on other sites

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

 

 

 

 

 

 

Link to comment
Share on other sites

 

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
Link to comment
Share on other sites

  • 2 weeks later...

 

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

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

  • 2 years later...

Dear All,

 

Could any one of you release the performance test result ? We are bidding a gov. tender and like to propose JasperReport. We need to fill in the sizing figure to support the performance requirement.

 

Thanks

csw1

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...