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