I'm working on a report and, admittedly, it's a behemoth. Eight different queries, most of them against Work Orders (and I don't think I can narrow it down any further than that; it's looking at very different data sets -- and I already reduced it from more than 20 different queries). If I run each query individually against the database, none of them take terribly long. The worst was just over a minute. The report has 10 pie charts, a bar chart, and several pieces of data that has to filter through and/or calculate upon the result set. There's a lot of filtering through the result set going on before rendering it.
When I run it in Maximo -- granted, the production environment is just a database server for SQL Server and another server for Maximo & WebSphere; no clustering, no separate Java heap for reporting or Cron Tasks -- it takes HOURS. Somewhere in the neighborhood of 8 hours. And that's with my intervention. I scheduled the report to run and email to me, and if I view it in Report Administration --> View Report Processing, I can see how long it's been going.
However, somewhere around the hour-and-a-half mark, it spins up another process to run the report. I assume it's hitting some kind of timeout setting and tries to submit the report request again. So I cancel that additional process. If I don't, this could end up taking 24 hours to process, and it keeps spinning up additional processes.
So, short of making a separate report server, what can I do to make this better?
I assume my issue is going to be with the amount of compute needed to do all the filtering & rendering and I may just have to live with it for now, but I'm hoping for other ideas. . .?
#Reporting------------------------------
Travis Herron
Pensacola Christian College
------------------------------