Iis

ARR Web Farm Health Test 發送數百個請求

  • October 19, 2016

我有一個使用執行狀況測試功能 (healthcheck) 的 IIS ARR/Web Farm。測試的設置是每 30 秒檢查一次給定的 url。它確實每 30 秒檢查一次,但在每次檢查期間會發送數百個請求。

有沒有人見過這個?你知道如何預防嗎?

網路農場配置:

<webFarm name="wf_site.at.your.domain_webservices_crosscampusenrollment" enabled="true">
   <server address="site1.at.your.domain" enabled="true" />
   <server address="site2.at.your.domain" enabled="true" />
   <applicationRequestRouting>
       <protocol timeout="00:00:30" reverseRewriteHostInResponseHeaders="false">
           <cache enabled="false" queryStringHandling="Accept" />
       </protocol>
       <affinity useCookie="true" cookieName="ARRAffinity_site.at.your.domain_webservices_crosscampusenrollment" />
       <loadBalancing algorithm="WeightedRoundRobin" />
       <healthCheck url="http://site.at.your.domain/webservices/CrossCampusEnrollment/healthcheck" />
   </applicationRequestRouting>
</webFarm>

這是IIS 日誌的要點

伺服器資訊:

Windows Server 2012 R2 Standard - Build 9200
IIS 8.5 - 8.5.9600.16384
URL Rewrite Module 2 - 7.2.2
ARR 3.0 - 3.0.1750
WFF - 1.1.1292

根據Scott Forsyth 部落格上的評論,當您在具有多個應用程序池的伺服器上擁有一個網路農場時,可能會發生這種情況:

問題是 ARR 沒有專門的工作程序來進行健康測試,所以它只使用所有 w3wp.exe 工作程序。這意味著如果您有多個應用程序池或網路花園,那麼您將擁有一個非常瘋狂的健康測試模式。

消除它的唯一方法是縮減應用程序池和/或工作程序的數量。

引用自:https://serverfault.com/questions/796064