Mizo82
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forum
Events
Featured Visualizations
Knowledge Base
Documentation (PDF Downloads)
Blog
Documentation (Test Area)
Documentation
Dr. Jaspersoft Webinar Series
Downloads
Posts posted by Mizo82
-
-
Hi,
I'm running some report generation under JBoss. Report compilation is fast, but filling the report takes minimum 5 seconds, sometimes it takes 14 seconds. I'm using fill method of JasperFillManager.
There are one or two sql inside the report, but the returned data is small. I debugged the process and it seems like problem is not with the sql. As far I see those seconds are spent when jasper api is filling the details inside the report.
And the fun part is that under Glassfish, using java 7, one report generation takes around 1-2 seconds. But under JBoss 7, java 8, it takes 4-15 seconds. I tried to play with the garbage collection, memory optimizations. I tried different jdt compilers, newer jasper api but nothing changed. So I'm stucked right now. Maybe someone already solved this, or had similar problem(s). Any advice?
Jasper version: 5.5.1 by the way (I tried 6.x as well)
JasperFillManager.fill() is slow under JBoss
in Products
Posted
I was able to identify the cause of the slow report generation. I made some analysis around the report generation using VisualVM. The problem was with the datasource settings. Previously during the debugging I didn't recognized that there is a parallel process for querying from database. But with VisualVM it was ovious that the problem is with the connection / reading from database.
I check the datasource settings and I found out that SelectMethod=cursor was set. I changed this to SelectMethod=direct and queries (from jasper) are 3-4 times faster now.
When I created the datasource from JBoss administration console, JBoss set SelectMethod to cursor by default.