Author: Carl Rabeler
Reviewers: Prash Shirolkar, Robert Bruckner, Dean Kalanquin, Guilherme Boreki, Tanka Sunuwar, Brian Hartman, Craig Guyer, Kevin Cox, Chuck Heinzelman, Paul Mestemaker
Integrating Microsoft SQL Server Reporting Services (SSRS) with your Microsoft SharePoint environment provides many benefits to your enterprise, including specifically shared storage, shared security, and same site access for all business documents. For more information about the benefits of Reporting Services integration with SharePoint, see Edgenet Realizes the Power of Dynamic IT and Self-Service BI and Overview of Reporting Services and SharePoint Technology Integration. SharePoint integration does, however, introduce some performance overhead. Naturally, the performance of Reporting Services reports in SharePoint integrated mode is an area of concern for customers. Since the initial release of software that integrated Reporting Services with SharePoint approximately five years ago, Microsoft has improved report performance (for both native and SharePoint integrated mode) through service packs and with new releases of SQL Server, SharePoint, and Windows. After the release of SQL Server 2008 R2 and SharePoint 2010, the SQL CAT and Reporting Services teams collaborated to measure the performance of Reporting Services reports in SharePoint integrated mode and in native mode to more fully understand and document the current performance landscape. We performed concurrent throughput and individual report performance tests against Reporting Services in SQL Server 2008 compared with Reporting Services in SQL Server 2008 R2, specifically focused on the performance delta between native mode and SharePoint mode.
Reporting Services in SQL Server 2008 R2 and SharePoint 2010 (with Windows Server 2008 R2) delivers significant performance improvements compared with SQL Server 2008 and SharePoint 2007 (with Windows Server 2008) in both native and SharePoint integrated mode. These performance improvements include improvements in overall throughput (operations per second) and in individual report performance. There is a measurable amount of additional overhead associated with SharePoint integrated mode that impacts report performance (between 250 milliseconds and 500 milliseconds of additional overhead to view the first page of any report). This performance difference is most evident when users request sub-second reports; in this case, the SharePoint overhead is a substantial percentage of the overall execution time. When users request multiple-second reports, the performance difference is a small fraction of the total time required to render the first page, and, when they exporting to Microsoft Excel, SharePoint integrated mode in SQL Server 2008 R2 Reporting Services is equal to or faster than native mode with SQL Server 2008 Reporting Services.
Furthermore, the performance of individual reports viewed using the ASP.NET Ajax-enabled Report Viewer web part in SharePoint 2010 degrades significantly when there are multiple viewers on a single web page, the viewer generates very large HTML, and the web page is viewed using older browsers. This is an area that we are working very hard to resolve, both through Cumulative Updates and in future releases (it is a multi-faceted issue). For more information about fixes in Cumulative Update 3 related to this issue, see It takes a long time to open a SQL Server 2008 R2 Reporting Services report that contains many parameter values in Internet Explorer.
Important: The additional overhead associated with SharePoint integrated mode will vary depending on server hardware, network infrastructure, and other factors, such as report design, all-in-one vs distributed architecture, SharePoint response time, anti-virus software, etc. Due to this variety of factors, the amount of additional overhead that will be experienced in any specific environment cannot predicted or guaranteed.
We utilized the following topologies to test Reporting Services in SQL Server 2008 (with Service Pack 1).
Note: For Reporting Services in SQL Server 2008, we utilized Windows Server 2008. For Reporting Services in SQL Server 2008 R2, we utilized Windows Server 2008 R2.
The following diagram illustrates our environment for testing native mode performance.
In this topology, each report request from our simulated user requires a minimum of four network hops to fulfill the report request, with two additional network hops required for the reports that were exported:
Important: All report requests are handled directly by the Reporting Services engine.
The following diagram illustrates our environment for testing SharePoint integrated mode.
(SP stands for SharePoint.) In this topology, each report request from our simulated user requires a minimum of seven network hops to fulfill the report request, with four additional network hops required for the reports that were exported:
Important: The report requests are handled initially by the SharePoint web service and then by the Reporting Services engine. There is basic overhead of communication with the SharePoint object model for doing basic work such as getting the item and checking access. There is also overhead associated with additional network hops, with the amount of this overhead dependent upon your SharePoint topology and performance capabilities of your network.
We utilized 53 different reports that exercised a wide range of product features and typical report design practices, including:
These reports consisted of mix of large reports (roughly 250,000 rows) and small reports (roughly hundreds to thousands of rows).
Important: This workload, with its mix of product features of report sizes, was specifically designed to place a heavy load on the system; it does not necessarily simulate a typical real-world workload. This workload included only product features supported by SQL Server 2008 Reporting Services and SQL Server 2008 R2 Reporting Services.
The goal of this test was to measure Reporting Services performance from the point of view of the IT department and total workload. The following sections describe the concurrent throughput performance workload and test results.
We designed a concurrent throughput performance workload based on the test workload. Approximately one-third of the workload was rendered from snapshots and two-thirds of the workload was rendered from live data. Using a custom test harness to randomize the report executions, the workload had the following characteristics:
Important: This concurrent throughput performance workload does not necessarily simulate a typical real-world workload, with its mix of report types, report sizes, mix of live versus snapshot data, and mix of export formats.
Note: The live reports used the rs:ClearSession URL parameter to render reports from live data rather than cache.
We tested different concurrency levels (n). The number of users (the factor of n) in your environment depends, of course, on your server hardware, network speed, data sources, and the actual reports.
Reporting Services in SQL Server 2008 R2 delivers significant concurrent throughput performance improvements, in both native mode (with Windows Server 2008 R2) and SharePoint mode (with Windows Server 2008 R2 and SharePoint 2010). Using our specific workload, we observed the following:
The test results are displayed in the following graph.
(SSRS 2008 stands for SQL Server 2008 Reporting Services, and SSRS 2008 R2 stands for SQL Server 2008 R2 Reporting Services.) We found the following observations most interesting:
Important: The actual performance improvements that you experience with your actual workloads will vary depending upon your workload and your environment. These performance numbers are not based on real workloads, but rather on a workload that was designed to test the entire range of the product's features and capabilities.
The goal of this test was to measure Reporting Services performance from the point of view of the user executing the report. The following sections describe the individual report performance workload and test results.
We executed each of the reports in the test workload serially using Microsoft Internet Explorer 8, executing against Reporting Services in both native mode and SharePoint integrated mode. We measured:
We also executed each of the reports in the test workload using Internet Explorer running against a single dashboard page in SharePoint containing multiple Ajax Report viewers.
Reporting Services in SQL Server 2008 R2 delivers significant individual report performance improvements, in both native mode (with Windows Server 2008 R2) and SharePoint mode (with Windows Server 2008 R2 and SharePoint 2010).
Using our specific workload, we observed that individual report performance improvements occur with Reporting Services in SQL Server 2008 R2 in both SharePoint mode and native mode. The performance improvement ranged from no improvement for some reports to improvements above 30 percent for a handful of reports.
The test results are displayed in the following graphs, with the results grouped based on the report execution time for reports in native mode in SQL Server 2008 Reporting Services.
The following chart shows the average time required to return the first page of the requested report to Internet Explorer. We focused initially on the time to return the first page of a report because if the first page of a report renders too slowly, the user experience is not satisfactory.
Notice that Reporting Services in SQL Server 2008 R2 is faster than in SQL Server 2008 for each mode. Notice also that native mode is faster than SharePoint integrated mode, but that the impact of that difference depends on the length of time to render the first page. From the individual user perspective, users will experience the performance delta between SharePoint integrated mode and native mode primarily with reports that take less than a few seconds to return the first page because in these cases the SharePoint overhead is responsible for the bulk of the execution time to render the first page.
Note: We observed that the overhead for SharePoint to establish the connection from the web front end to Reporting Services and return results was approximately 400 milliseconds for each report, regardless of size of the report rendered.
The following chart shows the average time required to export the requested report to Excel for reports of various execution time ranges. We focused on export to Excel as the most common export format, and this provides a good measure of the time to render, paginate, and format the entire report.
(R1 Native and R2 Native stand for SQL Server 2008 Reporting Services and SQL Server 2008 R2 Reporting Services in native mode, and R2 SP stands for SQL Server 2008 R2 in SharePoint integrated mode.) Notice again that Reporting Services in SQL Server 2008 R2 is faster that in SQL Server 2008 for each mode. Notice also that native mode is faster than SharePoint integrated mode for the export phase for the sub-second reports, but that SharePoint integrated mode for Reporting Services in SQL Server 2008 R2 is actually faster that native mode for Reporting Services in SQL Server 2008 for reports running longer than two seconds.
Viewing the reports in a multiple viewers in a single dashboard in SharePoint revealed that Internet Explorer (as well as other browsers) had performance issues with large reports generating excessively large HTML in some circumstances. While this does not result in a functional problem, some browsers are not able to handle the size of the HTML well. As a result, we are seeing varying degrees of performance degradation on different browsers. This performance problem seems to be particularly noticeable on pages with a larger number of valid values in a parameter, a large report page, or multiple viewers (or web parts) on a single page. In the meantime, we recommend using the latest version of your browser, because the problem appears to be more significant on older browsers, and ensuring that you are using the newest Cumulative Update. For more information about fixes in Cumulative Update 3 related to this issue, see It takes a long time to open a SQL Server 2008 R2 Reporting Services report that contains many parameter values in Internet Explorer.
Reporting Services in SQL Server 2008 R2 and SharePoint 2010 (with Windows Server 2008 R2) delivers significant performance improvements compared with SQL Server 2008 and SharePoint 2007 (with Windows Server 2008) in both native and SharePoint integrated mode. These performance improvements include improvements in overall throughput (operations per second) and in individual report performance. There is a measurable amount of additional overhead associated with SharePoint integrated mode that impacts report performance (between 250 milliseconds and 500 milliseconds of additional overhead to view the first page of any report). This performance difference is most evident when users request sub-second reports; in this case, the SharePoint overhead is a substantial percentage of the overall execution time. When users request multiple-second reports, the performance difference is a small fraction of the total time required to render the first page, and, when exporting to Excel, SharePoint integrated mode in SQL Server 2008 R2 Reporting Services is equal to or faster than native mode with SQL Server 2008 Reporting Services.
Pingback from Twitter Trackbacks for Reporting Services Performance in SharePoint Integrated Mode in SQL Server 2008 R2 - Technical Notes [sqlcat.com] on Topsy.com
Pingback from SQLCAT: Reporting Services Performance in SharePoint Integrated Mode in SQL Server 2008 R2 | rambla inform??tica
Pingback from SQLCAT: Reporting Services Performance in SharePoint Integrated Mode in SQL Server 2008 R2 | Jordi Rambla Blog
I do quite a lot of work where we have scorecards or filters from PPS sending values to SSRS ~ and the report viewer is limited in the sense that it requires a page refresh to accomplish this.
So I use the PPS report control, as this then becomes an asynchronous refresh.
Subjectively, this feels much slower than natively using the report viewer - do you have performance stats on this methodology?
As you may already know, you can upload or publish report server content types to a SharePoint library
Pingback from SharePoint 2010: Recopilatorio de enlaces interesantes (XV)! « Pasi??n por la tecnolog??a…
Pues nada, año nuevo (que aprovecho para felicitaros a todos los que leéis y formáis
Pingback from Blog Post: Melhoria de desempenho do Reporting Services no Modo Integrado do SharePoint no SQL Server 2008 R2
Amélioration des performances de Reporting Services en mode intégré SharePoint dans
Pingback from Melhoria do desempenho do Reporting Services no Modo Integrado do SharePoint no SQL Server 2008 R2 - MSDN Blogs
Using SSRS in SharePoint mode version 2008 R2 or earlier full-page report rendering is slower than its corresponding Native mode. This is largely due to SSRS in SharePoint mode comprises Native mode functionality and additional calls to the SharePoint
To test your knowledge of SSRS & SharePoint integration, try this quiz -- quizapp.cloudapp.net/default.aspx