Reporting Services 2008 Performance & Scalability - TechNet Blogs

joeneetscompetitiveSecurity

Nov 3, 2013 (3 years and 9 months ago)

57 views

SSRS 2008 Architecture Improvements

Scale
-
out SSRS 2008

Report Engine Scalability Improvements

Report Server

SQL Server Catalog

Report
Engine

Scheduling & Delivery

Rendering

Data Processing

Security

Delivery Targets

(E
-
mail, SharePoint, Custom)

Security
Services

Output
Formats

Data Sources

RDCE

Customized RDL

Custom Report Item

Custom

Visualization

Report Manager/
SSMS

Report
Viewer

Web
Service

Proxy

Report Viewer

Web Part

SharePoint


Web Services & URL Access


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

3
rd

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

3
rd

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

Two or more report server instances that
share a single report server database

Instances can be added to a network load
-
balance (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




Execution does only work necessary for the requested page


Datasets no longer must be entirely in memory

On demand
processing engine


Optimized for memory usage

Cursor 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


Data

Report

Definition

Processing Engine

Renderer

Fetch

Data

Group

Sort

Aggregate

Intermediate Format

Snapshot

Report

Item

Cache

ROM

Request

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
-
webcast
-
building
-
sql
-
server
-
reporting
-
services
-
2008
-
large
-
scale
-
solutions
-
level
-
400.aspx


Q
&
A

©
2009 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademar
ks
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
dat
e 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.