2009-02-05 50 views
1

我有一个IIS7的Web应用程序,它主要服务的Web服务请求。作为我们解决方案的一部分,我们有两个Web服务器和一个负载平衡器,负载平衡器定期从每个负载平衡盒请求一个页面。该页面负载均衡负载被命名为“Health.aspx”,它有后面的代码,并且文件的全部内容Health.aspx是:有关使用IIS7的空* .aspx页面的任何已知问题?

OK 

但是我们正在观察偶发400错误从负载平衡器请求此页面时,导致负载平衡器将机器从其旋转一段时间推出。

虽然有可能存在许多的事情,在这里可以导致一个问题,我想在网上查询框 - 开始自己并确定没有代码几乎空* .aspx页面中是否落后可能会导致周期性的问题。

回答

0

事实证明,问题仅仅是处理请求的数量太多,而且处理请求的时间不合适(或者确实是请求时间 - 我们的客户端连接速度非常慢)。对于Health.aspx请求都陷入了缓慢的客户端连接,默认12 MaxConcurrentRequestsPerCPU被人为地限制了我们实际的请求/秒的数量。将这个数字增加到100 - 基于我们针对特定应用的负载仔细测试我们的硬件 - 解决了这个问题。

1

您应该创建Health.html,只是使用的是代替。这也会给你一些关于ASP.NET是否给你提供400个问题或IIS的一些想法。

+0

我建议这一点,并希望我们将使用这种方法来解决。 – cfeduke 2009-02-06 20:19:31

1

“400错误”涵盖范围广泛的潜在问题,从一个简单的没有发现404坏请求401和403禁止

其中的一些可能是由于网络电缆,网卡,糟糕的负荷引起的平衡器,超载服务器(S)等

顺便说一句,不,与背后没有代码的网页不会抛出。另外,我可能会在health.aspx中做更多的事情来验证服务器是否实际运行。就像运行一个调用或做一个简单的数据库请求。毕竟,IIS可以简单地缓存文件。

相关问题