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.