无法连接到远程服务器 - SSRS 2008 - webservice

时间:2009-05-07 16:49:46

标签: web-services reporting-services ssrs-2008 load-testing

我有一个asp.net页面,它试图通过ReportViewer控件访问SSRS 2008 ReportServer。使用在服务器上设置为“浏览器”角色的代理帐户访问报告。使用常规报告访问方案,此设置正常。但每当我们尝试使用100个虚拟用户加载测试此页面时,我们就会开始看到“无法连接到远程服务器”错误。负载测试设置为从10个用户开始,每30秒后增加10个用户。测试设置为运行30分钟。

堆栈跟踪如下:

  

System.Net.WebResponse GetWebResponse(System.Net.WebRequest)   System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest的   请求)   System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest的   请求)   Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetWebResponse(WebRequest的   请求)   Microsoft.Reporting.WebForms.ServerReportSoapProxy.GetWebResponse(WebRequest的   请求)   System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串   methodName,Object [] parameters)at   Microsoft.SqlServer.ReportingServices2005.Execution.ReportExecutionService.LoadReport(字符串   报告,字符串HistoryID)at   Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(字符串   报告,字符串HistoryID)at   Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo()at   Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1   参数)

是否需要更改报表服务器配置中的某些内容以支持这样的负载配置文件? 我想,有100个用户可以处理这个盒子,因为盒子里有QuadCore Xeon 3.Ghz和10GB RAM。

3 个答案:

答案 0 :(得分:0)

一些问题;

报表服务器上观察到的负载是多少;根据报告,如果在数千行数据上返回数千并操纵它们,则可能会使用少量用户重载它。根据您加载vu的方式,您可能会过早地抽取太多数据/请求。

其中一台机器上是否运行了自适应防火墙/ Windows防火墙?有些防火墙会将此负载测试视为敌对行为,并将其阻止进入测试。

您是否排除了AD问题?如果不是,则sqlserver正确设置为AD(受委托并具有已注册的SPN),并且在运行测试时是否是AD服务器的性能;我参与了一个使用普通域名服务器的站点的负载测试;在测试过程中,我们在整个网络中没有参与测试的应用程序和服务器中摧毁了用户,因为我们通过严重设置的服务器通过数百万个请求过载域控制器。

答案 1 :(得分:0)

我非常相信您的SSRS服务器已超载。您是在共享服务器还是专用服务器上托管SSRS?如果您在共享服务器上托管它,则应与主机讨论此问题。我在asphostdirectory.com主持了我的SSRS 2008,到目前为止,该服务非常出色!我可以远程连接到我的ReportManager,我可以在线管理我的报告。到目前为止,我每月支付6.99美元左右与他们一起托管我的网站,当然,这是我目前可以获得的最佳价值。

如果您在专用服务器上托管SSRS,则应考虑升级服务器资源。如果你真的有10GB的四核服务器,你应该没有问题!我不确定您的SSRS可以产生多少流量,但我真的相信具有4GB RAM的DEDICATED服务器足以处理100个并发用户。

希望这有帮助

答案 2 :(得分:0)

您可能想要检查托管SSRS的网站的应用程序池设置。确保没有任何请求限制设置为任何低。您可能想要更改某些设置并重新运行测试以查看它是否有任何影响。

此外,如果您从10个用户开始,每30秒再添加10个用户,并运行测试30分钟,这不会使其更像600个用户吗?或者你在五分钟后停止添加用户?