0

下午好每個人,爲什麼在負載測試期間CPU%以最高用戶負載下降?

我負載測試我的.NET Web API,它承載在Windows 2008 Server虛擬機上。我正在使用Visual Studio 2012負載測試。但是,一旦我的負載測試達到780個併發用戶,CPU%開始減少,如附圖所示。負載測試最多可達1000個併發用戶,但CPU%在最高用戶負載下仍在下降。我無法解釋爲什麼。是否有任何類型的IIS限制達成?爲什麼會發生?該功能是否達到最大用戶負載? enter image description here

只是尋找一種解釋,這個結果和一些指導。

謝謝

+0

線程池可能? – 2014-12-10 21:57:08

+0

請你詳細說明一下嗎? – ivan 2014-12-10 21:59:44

+0

幾個問題: 你使用什麼樣的混合類型? (假設最有可能的用戶步調) 您是否有最大的測試迭代集? 您是否有辦法驗證用戶是否仍在按照所需的速度/速率在最大用戶負載下執行預期的工作? – Daileyo 2014-12-10 23:40:44

回答

0

IIS確實有其默認情況下啓用單獨的輸出緩存設置,這的確開始考慮如何處理與靜態響應和緩存值得的動態內容後有道理:

的IIS輸出緩存功能以半動態內容爲目標。它可以讓你 緩存動態請求靜態響應和提高可擴展性

配置緩存老有所:

即使啓用輸出緩存,IIS不會立即緩存 請求。它必須要求幾次IIS會考慮 請求是之前的「緩存值得的。」老有所緩存可以通過 的serverRuntime中部分進行配置。

兩個屬性確定緩存老有所爲:

frequentHitTimePeriod
frequentHitThreshold

的請求只緩存如果超過了緩存URL frequentHitThreshold請求frequentHitTimePeriod內到達。

這是一個很好的解釋:http://www.iis.net/learn/manage/managing-performance-settings/configure-iis-7-output-caching