Reporting Services 2008 Performance & Scalability

SSRS 2008 Architecture Improvements
Scale-out SSRS 2008
Report Engine Scalability Improvements
Report
Viewer
SharePoint
Report Manager/
SSMS
Report Viewer
Web Part
Web Service Proxy
Data Sources
Web Services & URL Access
Security Services
Report Server
Report Engine
Output Formats
Data Processing
Security
Delivery Targets
(E-mail, SharePoint, Custom)
Rendering
Custom
Visualization
Custom Report Item
Scheduling & Delivery
RDCE
Customized RDL
SQL Server Catalog
Single service architecture
SSRS 2005 had 2 separate services
SSRS 2008 is easier to deploy, configure and manage without
losing any functionality
No dependency on IIS 
Report Server 2008 has components to provide network
capabilities without requiring IIS
SSRS Shares internal components with SQL Server
Enables better memory management capabilities
Does not change deployment topologies
Supports single instance, multi instance and Scale Out
Upgrades are supported from 2000 and 2005
Management Studio
Report Builder
Report Designer
SharePoint V3
Configuration Tool
3rd Party
Applications
Windows Service
Web Service
Report Manager
Background Processing
Report Data
Sources
WMI
Platform
WMI Provider
Report Server
Database
SharePoint V3
Databases
Configuration
Files
Report Builder
Report Designer
Management Studio
SharePoint V3
Configuration Tool
App Domain
Management
ASP.NET
Web Service
Authentication
Report
Manager
Memory Management
Service Network
Background Interface
Processing
WMI
WMI Provider
SharePoint V3
Databases
Service Platform
Report Data
Sources
Platform
Report Server
Database
3rd Party
Applications
Configuration
Files
Two or more report server instances that
share a single report server database
Instances can be added to a network loadbalance (NLB) cluster
Provides a highly available and scalable
report server installation
Report server nodes can be load balanced to
support high-volume interactive reporting
Increases concurrent report server users
Requests are load-balanced across multiple
report server nodes
Improve the performance of scheduled
operations and subscription delivery
SSRS nodes can be load-balanced in an
NLB cluster to support high-volume
reporting
Necessary only to increase performance or
the number of concurrent reports
Scheduled reports and subscription
processing are faster in a scale-out
deployment, but do not require an NLB
cluster
demo
Customers cannot run very large reports on
reasonable hardware
Reports are memory bound; large datasets can cause
out of memory exceptions.
A single large report can starve or fail many smaller
reports
Out of Memory exceptions can cycle the report server,
losing jobs in-flight
Goal for SSRS 2008 Report Engine:
Deliver good quality of service from Report Server and
the ability to complete large reports successfully
On demand
processing engine
• Execution does only work necessary for the requested page
• Datasets no longer must be entirely in memory
Cursor based
Rendering Object
Model
• Optimized for memory usage
Scalability
infrastructure
Rendering rearchitecture
• Reports are not memory bound
• Reacts to memory pressure indicated by Report Server
• Layout/Pagination consistency between similar renderers
• Rewritten renderers for better performance
• Moved rendering to client for some renderers
Data
Processing Engine
Fetch
Data
Group
Sort
Aggregate
Intermediate Format
Report
Definition
Snapshot
Request
Report
Item
Cache
ROM
Renderer
Server infrastructure for process memory monitoring
Monitors memory usage of SSRS and sends notifications to
various components
Extensive use of File system cache to reduce memory
usage
Goal is to minimize number of in-flight executions that need
to be swapped to disk
Administrator is able to set memory usage targets
(Min, Max and thresholds in between)
Consequences
Performance impact to report executions that respond to
memory pressure
Large reports are prioritized to shrink and small reports
continue to run with normal performance
Adapts to other processes consuming memory
App Domain recycle stops report execution
2005 Simulated
2008 Real
2008 Real
demo
Deploying, Managing and Configuring
Reporting Services is easy !
Reporting Services architecture is designed
for greater scalability, reliability and
performance
Report Engine handles arbitrarily sized
reports
Existing applications and reports continue
to work
Configuring Available Memory for Report Server Applications
http://msdn.microsoft.com/en-us/library/ms159206.aspx
ExecutionLog2 View - Analyzing and Optimizing Reports
http://blogs.msdn.com/robertbruckner/archive/2009/01/05/executio
nlog2-view.aspx
Building SQL Server Reporting Services 2008 Large-Scale Solutions
http://sqlcat.com/presentations/archive/2008/11/03/technet-webcastbuilding-sql-server-reporting-services-2008-large-scale-solutionslevel-400.aspx
Q&A
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions,
it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.