Reliability through isolation

Reporting Services is an example of a system that both handles interactive user load and schedule load.  It is also allows interactive users to schedule reports.  A poor scheduling decision on the part of one user can can have significant impact on the overall responsiveness and reliability of your Reporting Services deployment.  As an administrator when you plan your load, you want to ensure interactive user request responsiveness does not diminish due to recurring scheduled load.

The report server provides a neat way to ensure scheduled load does not impact interactive load at all.  First, let me say you'll need two instances of report server running in a scale-out deployment.  This means you'll need Enterprise edition. So obviously this solution isn't for everyone.

The solution is to have 2 servers configured to use the same report server database (a scale-out deployment).  One of the servers is for interactive user load, the other is for scheduled unattended operations - subscriptions, snapshot creation, etc.

On each of your report server computers, open the Surface Area Configuration tool.  Go to "Surface Area for Features" and navigate to the Reporting Services item.

To make a report server only handle interactive load, disable "Scheduled Events and Report Delivery".

To make a report server only handle schedule load, disable "Web Service and HTTP Access".

Of course for really large deployments you might have a set of report servers dedicated to interactive load and another set for scheduled load.  Just make sure to set the Surface Area Configuration appropriately for each server.

There you have it - a neat way to isolate load for large report server deployments.

Take care and good luck,

-Lukasz