Question

I have an asp.net page that is trying to access a SSRS 2008 ReportServer through the ReportViewer control. The reports are accessed using a proxy account that is setup with 'Browser' role on the server. With a regular report access scenario this setup works fine. but whenever we try to load test this page using 100 virtual users, we start seeing "unable to connect to remote server" errors. the load test is setup to start with 10 users and rampup 10 users after every 30 seconds. the test is setup to run for 30 mins.

The stack trace is as below:

System.Net.WebResponse GetWebResponse(System.Net.WebRequest) System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetWebResponse(WebRequest request) at Microsoft.Reporting.WebForms.ServerReportSoapProxy.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.SqlServer.ReportingServices2005.Execution.ReportExecutionService.LoadReport(String Report, String HistoryID) at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID) at Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo() at Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1 parameters)

Is there something in the report server configuration that needs to be altered to support one such load profile?
I am thinking, 100 users is not a lot for the box to handle, given that the box has QuadCore Xeon 3.Ghz and 10GB RAM.

Was it helpful?

Solution

Some questions;

What is the observed load on the report server; depending on the report you might overload it with a low number of users if returning thousands on thousands of rows of data and manipulating them. Depending on how you are loading up your vu's you might be pumping too much data / requests in too soon.

Is there an adaptive firewall/ windows firewall running on one of the machines ? Some firewalls would see this load test as hostile behavior and block it part way into the test.

Have you ruled out an AD issue ? If not is the sqlserver setup into AD correctly (trusted for delegation and has a registered SPN) and is/are the AD server(s) performant whilst running the test; i have been involved in a load test at one site which used the normal domain servers; whilst the test ran we crashed users out of apps and servers all over the network not involved in the test as we overloaded the domain controllers through millions of requests through badly setup servers.

OTHER TIPS

I highly believe that your SSRS server is overloaded. Do you host your SSRS on a shared or dedicated server? If you are hosting it on a shared server, you should talk to your host about this issue. I host my SSRS 2008 at asphostdirectory.com and so far, the service is truly excellent! I can remotely connect to my ReportManager and I can administer my reports online. So far, I am paying around $6.99/month to host my site with them and certainly, this is the best value I can get at the moment.

If you host your SSRS on a dedicated server, you should consider upgrading your server resources. If you truly have 10GB with Quad Core server, you should not have a problem at all! I am not sure how much traffic that your SSRS can generate, but I truly believe that a DEDICATED server with 4GB RAM is much more than enough to just handle 100 concurrent users.

Hope this helps

You may want to check the application pool settings for the web site hosting SSRS. Make sure none of the request limits are set to anything low. You may want to change some of the settings and rerun your tests to see if it has any effect either way.

Also, if you start with 10 users, add 10 more users every 30 seconds, and run the test for 30 minutes, wouldn't that make it more like 600 users? Or do you stop adding users after five minutes?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top