How to get busobj.exe to make better use server resources?

Celso -

What you’re seeing is actually common BO behavior. One query will typically spike a CPU (whether on the desktop or a server), but the 100% CPU usage doesn’t seem to be an accurate reflection on performance. For example, if we run two reports on one of our Citrix servers (2 CPUs), both CPUs spike to 100%. However, these servers have been load tested refreshing 25 reports simultaneously w/o any degradation in performance. So, even though the computer says the CPU is at 100%, it doesn’t necessarily mean that performance is impacted.

In your situation, I’d document the query time (through the data provider utility) vs. the wall clock time (actual elapsed time for the report to return). If the query time is definitely not the problem, then BO’s taking a lot of time performing calculations and displaying the information. One way you can test this is to make a copy of your report and replace the report tab(s) with a blank report. Now compare the run times of the two reports to see if it’s actually the display portion that’s churning up the CPU.

On the report level, complex calculations and hard-coded formulas (i.e. a different formula for each cell) can increase the time it takes BO to render a report. If the query is returning many rows of data, this issue will only get worse.

Another thing to look at is to ensure you’re retrieving data at the appropriate grain. For example, if don’t need to go down to the lowest level of detail for reporting purposes, it’s often faster if you can bring in summary level data.

As far as I know, BO is not multi-threaded, but here is a good link on multiple CPU discussion:

Thanks,

DJ


DJ06482 :us: (BOB member since 2002-11-22)