Iis
ARR Web Farm Health Test 發送數百個請求
我有一個使用執行狀況測試功能 (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 工作程序。這意味著如果您有多個應用程序池或網路花園,那麼您將擁有一個非常瘋狂的健康測試模式。
消除它的唯一方法是縮減應用程序池和/或工作程序的數量。