Reporting Services 2008 Performance & Scalability
Rob CarrolSQL Server Premier Field [email protected]
Session Agenda
SSRS 2008 Architecture ImprovementsScale-out SSRS 2008Report Engine Scalability Improvements
SSRS 2008 Architecture
Report Server
SQL Server Catalog
Report Engine
Scheduling & DeliveryRendering
Data Processing Security Delivery Targets(E-mail, SharePoint, Custom)
Security Services
Output Formats
Data Sources
RDCE
Customized RDL
Custom Report ItemCustom Visualization
Report Manager/
SSMS
Report Viewer
Web Service Proxy
Report Viewer Web Part
SharePoint
Web Services & URL Access
Reporting Services Architecture
Service Architecture Improvements
Single service architectureSSRS 2005 had 2 separate servicesSSRS 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 ServerEnables better memory management capabilities
Does not change deployment topologiesSupports single instance, multi instance and Scale Out Upgrades are supported from 2000 and 2005
SSRS 2008 Service Architecture
3rd Party Applications
Report Designer
Management Studio
Configuration Tool
Report Builder
Report Manager
SharePoint V3
Report Server Database
Configuration Files
Report Data Sources
SharePoint V3 Databases
WMI
WMI Provider
Web Service
Background Processing
Platform
Windows Service
SSRS 2008 Service Architecture
3rd Party Applications
Report Designer
Management Studio
Configuration Tool
Report Builder
SharePoint V3
Report Server Database
Configuration Files
Report Data Sources
SharePoint V3 Databases
WMI
WMI Provider
Web Service
Report Manager
Background Processing
Platform
Service Network Interface
Service Platform
ASP.NET
Authentication
App Domain Management
Memory Management
SSRS Scale-out Deployment
What is a Scale-Out Deployment?
Two or more report server instances that share a single report server databaseInstances can be added to a network load-balance (NLB) cluster
Scale-Out Benefits
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
Load-Balanced Solutions
SSRS nodes can be load-balanced in an NLB cluster to support high-volume reportingNecessary only to increase performance or the number of concurrent reportsScheduled reports and subscription processing are faster in a scale-out deployment, but do not require an NLB cluster
Configuring a Scale-out Deployment
demo
Report Engine Improvements
Pain Points in SSRS 2005
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 reportsOut 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
Key Features in 2008
• Execution does only work necessary for the requested page
• Datasets no longer must be entirely in memory
On demand processing engine
• Optimized for memory usageCursor based
Rendering Object Model
• Reports are not memory bound• Reacts to memory pressure indicated by Report Server
Scalability infrastructure
• Layout/Pagination consistency between similar renderers
• Rewritten renderers for better performance• Moved rendering to client for some renderers
Rendering re-architecture
RS 2008 On Demand Processing Model
Data
ReportDefinition
Processing Engine
Renderer
FetchData
GroupSort
Aggregate
Intermediate Format
Snapshot
1 2 ReportItem
Cache ROM
Request
Response Time Implications
Memory Management
Server infrastructure for process memory monitoringMonitors memory usage of SSRS and sends notifications to various componentsExtensive use of File system cache to reduce memory usageGoal 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 pressureLarge reports are prioritized to shrink and small reports continue to run with normal performance
Adapts to other processes consuming memory
Memory Usage Under PressureApp Domain recycle stops report execution
2005 Simulated
2008 Real
Memory and IO Implications
2008 Real
demo
Configuring Memory Settings & Viewing SSRS Execution Log
Session Takeaways
Deploying, Managing and Configuring Reporting Services is easy !Reporting Services architecture is designed for greater scalability, reliability and performanceReport Engine handles arbitrarily sized reportsExisting applications and reports continue to work
Additional Resources
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/execu
tionlog2-view.aspx
Building SQL Server Reporting Services 2008 Large-Scale
Solutions http://
sqlcat.com/presentations/archive/2008/11/03/technet-webcas
t-building-sql-server-reporting-services-2008-large-scale-solut
ions-level-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.