Hi we are experiencing a performance issue when a report is being run within the Report Viewer Control in ASP.NET. We are using the report viewer in Remote mode.
We are using SQL Server 2008 R2, Visual Studio 2010 and ASP.NET, .NET FrameWork v4.
We have 3 Servers: Webserver, Reporting Services Server and a Database Server. They are all virtual machines on the same virtual network.
The stored procedures execute in a very short period of time. Less than 5 seconds
When the report is executed via the Report Manager (RDP'ed onto the reporting server). It executes in 30 seconds (which is fine for this report). When the same report is Executed from within the ASP.NET page using the Report Viewer Control on the same machine, it takes around 5 minutes to run - which is not ok.
I have checked the Network/CPU/IO on the Reporting server, it appears that after a short while, the CPU is hit for a few seconds, after that there is a long period of Network Traffic from the SQL Server to the Report Server - 12-15mbps for around 5 minutes, After which the report is being rendered by Internet Explorer. This Network Traffic does not occur when the report is being executed in Report Manager, it just returns straight away. The virtual network also appears to be fine, when copying a file between the two servers the throughput is fine.
If you look at the execution log table on the ReportServer database, it claims to have finished within 15-20 seconds on both executions! 5 seconds data retrieva, 6 Seconds Processing, 6 Seconds Rendering. The question is what is different between the two executions? And what can we do about it?
The Reporting Services databases are both on the SQL server (Not local to the Reporting Services Server), however, we do have a development environment where it is on the same box as the Reporting Services Server, yet this still has the same issue.
How can Report Manager execute it perfectly and yet it takes ages using Report Viewer?