Wednesday, March 21, 2012

How many reports will a DDS (data driven subscription) run in parallel?

What is the logic behind how many reports that RS will launch in parallel when processing a data driven subscription?

Observations:

Using RS 2000 and a 2 CPU box, a data driven subscription appears to always launch 4 reports in parallel.

Using RS 2005 and a 4 CPU box, a data driven subscription appears to also launch 4 reports in parallel.

I would have expected RS to take advantage of the larger server to launch more reports in parallel...? Is there any way to configure how many reports get launched in parallel? What controls the number?

Thanks for any insight-

Matt

Update on this thread. RS2005 appears to launch 4 reports for every CPU. So a 4 processor server will launch 16 reports simultaneously.

I've processed over 50,000 reports recently, using DDS. We process large, resource intensive reports (reports with 20+ subreports and complex SQL and MDX, that take 4+ minutes to run and are produced as PDF's) , and here's some observations:

1) RS server always launches 4 reports per CPU. Unfortunately, this number is not configurable.

2) RS server is seriously strained when we process DDS batches - The RS logs are full of warnings about thread pool pressure when we run DDS's. Reports occasionally fail as a result of the strain on the server.

3) RS server usually needs to be re-booted after a few days of round-the-clock processing of the DDS batches.

4) Anyone trying to run reports using Report Manager while DDS are running experience slowness and about one third of the time receive error messages and the report run fails.

5) There is no way to stop or cancel a DDS once run...so I normally break up my DDS queries to process batch runs a few hundred at a time. That way, I have some control over managing the DDS queue.

Conclusions:

===========

- Since there is no way to control or configure the number of reports that RS will process in a DDS - let the buyer beware that if using DDS with large, resource intense reports - it will slow down RS and impact users of Report Manager as well as cause some reports to fail when server is overloaded. :-(

- Since you can;t cancel a DDS, break your batches up into manageable chunks so you don't have to watch thousands of reports all fail for several hours :-(

- Reboot your RS server in-between batch runs of DDS to improve performance and reduce report generation errors. :-(

- I am going to "scale-out" our RS platform to address these issues. Will start RS farm, and dedicate one of 3 RS servers to handling Report Manager requests from users, while other 2 servers will handle DDS processing.

HTH-

Matt

No comments:

Post a Comment