Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » Mixed-page render performance(If a rpt contains both table and chart of same data, it's SLOOOOOWWWWW)
icon5.gif  Mixed-page render performance [message #490506] Thu, 08 October 2009 20:57 Go to next message
Jack Repenning is currently offline Jack RepenningFriend
Messages: 5
Registered: July 2009
Junior Member
When I create a report that contains both a table and a chart (of the same data set), the preview render is incredibly slow, database server churns amazingly. Haven't tried this in production, yet ... I'm afraid to!

Here are some numbers, to give you scale on those adverbs:

To retrieve the data set directly from the database (command-line mysql):
- 4.92 seconds
- mysqld running the whole time at 98% CPU

To retrieve the data set into the BIRT Data Set preview (in the Data Set Editor):
- 10 seconds
- mysqld: 98% CPU

To render a report containing only the table of values:
- 11 seconds / 98%

To render a report containing only the chart of values:
- 12 seconds / 98%

OK, those are all within reasonable range of each other. But now:

To render a report containing both a table and a chart of the same data set:
- 140 seconds
- mysqld churning at 180% CPU (it's a 2-core system)

I don't seem to by doing much disc I/O during that long processing.

I'm forced to suspect that the table-plus-chart report is posting the query many times, not just once or twice. Or, perhaps it's removing part of my query?

Might this be some botch in the way I created the report? Is there something else I can do about it?

Some of those details that make life worthwhile:

All operations (database, Eclipse) on one box:
- 2.66 GHz Intel Core 2 Duo, 8GB RAM, SSD
BIRT: 2.5.1.v20090624
Eclipse: 3.5.1.R35x_v2009
MySQL: 5.1.37
JDBC: mysql-connector-java-5.1.10-bin.jar

Query:
select count(1) 'Count', component 'Component'
from access
 natural join componentDIM
group by 2
order by 1 desc
limit 20

(yes, the "limit 20" is in the query defined in the Data Set Editor, and I notice the editor doesn't color-code "limit 20" as if it knew it was SQL)

rows in table access: about 7M
rows in the data set if you remove the limit: 201
Time to do the unlimited query from command-line: 128 seconds

So I guess the "render report with both table and chart" time is roughly comparable to the "query without the limit clause" time, and maybe the problem is not multiple queries but incomplete query spec?

[Updated on: Thu, 08 October 2009 20:58]

Report message to a moderator

Re: Mixed-page render performance [message #490973 is a reply to message #490506] Mon, 12 October 2009 15:56 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Jack,

We like to get all performance issues logged in bugzilla entries. Can
you create one an upload your report and your web.xml. Also post the
machine specifications as you did in this thread.

Thanks

Jason

Jack Repenning wrote:
> When I create a report that contains both a table and a chart (of the
> same data set), the preview render is incredibly slow, database server
> churns amazingly. Haven't tried this in production, yet ... I'm afraid to!
>
> Here are some numbers, to give you scale on those adverbs:
>
> To retrieve the data set directly from the database (command-line mysql):
> - 4.92 seconds
> - mysqld running the whole time at 98% CPU
>
> To retrieve the data set into the BIRT Data Set preview (in the Data Set
> Editor):
> - 10 seconds
> - mysqld: 98% CPU
>
> To render a report containing only the table of values:
> - 11 seconds / 98%
>
> To render a report containing only the chart of values:
> - 12 seconds / 98%
>
> OK, those are all within reasonable range of each other. But now:
>
> To render a report containing both a table and a chart of the same data
> set:
> - 140 seconds
> - mysqld churning at 180% CPU (it's a 2-core system)
>
> I don't seem to by doing much disc I/O during that long processing.
>
> I'm forced to suspect that the table-plus-chart report is posting the
> query many times, not just once or twice. Or, perhaps it's removing part
> of my query?
>
> Might this be some botch in the way I created the report? Is there
> something else I can do about it?
>
> Some of those details that make life worthwhile:
>
> All operations (database, Eclipse) on one box: - 2.66 GHz Intel Core 2
> Duo, 8GB RAM, SSD
> BIRT: 2.5.1.v20090624
> Eclipse: 3.5.1.R35x_v2009
> MySQL: 5.1.37
> JDBC: mysql-connector-java-5.1.10-bin.jar
>
> Query:
> select count(1) 'Count', component 'Component'
> from access
> natural join componentDIM
> group by 2
> order by 1 desc
> limit 20
>
> (yes, the "limit 20" is in the query defined in the Data Set Editor, and
> I notice the editor doesn't color-code "limit 20" as if it knew it was SQL)
>
> rows in table access: about 7M
> rows in the data set if you remove the limit: 201
> Time to do the unlimited query from command-line: 128 seconds
>
> So I guess the "render report with both table and chart" time is roughly
> comparable to the "query without the limit clause" time, and maybe the
> problem is not multiple queries but incomplete query spec?
Re: Mixed-page render performance [message #491005 is a reply to message #490973] Mon, 12 October 2009 18:38 Go to previous message
Jack Repenning is currently offline Jack RepenningFriend
Messages: 5
Registered: July 2009
Junior Member
OK, bug 292071
Previous Topic:Error after creating the second report
Next Topic:Problems with ReportEngine after Upgrading Birt from 2.3 to 2.5.1
Goto Forum:
  


Current Time: Fri Nov 28 18:37:08 GMT 2014

Powered by FUDForum. Page generated in 0.01643 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software