Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 为什么在负载测试期间,CPU%在最高用户负载下下降?_Visual Studio 2012_Iis_Asp.net Web Api_Windows Server 2008_Load Testing - Fatal编程技术网

Visual studio 2012 为什么在负载测试期间,CPU%在最高用户负载下下降?

Visual studio 2012 为什么在负载测试期间,CPU%在最高用户负载下下降?,visual-studio-2012,iis,asp.net-web-api,windows-server-2008,load-testing,Visual Studio 2012,Iis,Asp.net Web Api,Windows Server 2008,Load Testing,各位下午好, 我正在对托管在Windows2008服务器虚拟机上的.NETWebAPI进行负载测试。我正在使用Visual Studio 2012负载测试。然而,一旦我的负载测试达到780个并发用户,CPU%开始减少,如所附图片所示。负载测试最多可达到1000个并发用户,但在最高用户负载下CPU%仍在下降。我无法解释原因。是否达到了任何类型的IIS限制?为什么会发生这种情况?此功能是否达到最大用户负载 只是想对这个结果做一个解释和一些指导 谢谢IIS确实有单独的输出缓存设置,默认情况下会启用这些

各位下午好,

我正在对托管在Windows2008服务器虚拟机上的.NETWebAPI进行负载测试。我正在使用Visual Studio 2012负载测试。然而,一旦我的负载测试达到780个并发用户,CPU%开始减少,如所附图片所示。负载测试最多可达到1000个并发用户,但在最高用户负载下CPU%仍在下降。我无法解释原因。是否达到了任何类型的IIS限制?为什么会发生这种情况?此功能是否达到最大用户负载

只是想对这个结果做一个解释和一些指导


谢谢

IIS确实有单独的输出缓存设置,默认情况下会启用这些设置,在考虑到它如何处理具有静态响应和缓存价值的动态内容后,这些设置才有意义:

IIS输出缓存功能以半动态内容为目标。它让 您可以缓存动态请求的静态响应,并增加 可伸缩性

配置缓存价值:

即使启用了输出缓存,IIS也不会立即缓存输出缓存 要求在IIS考虑 请求具有“缓存价值”。缓存价值可通过 服务器运行时部分

两个属性决定了缓存的价值:

frequentHitTimePeriod
频度阈值

只有在frequentHitTimePeriod内到达超过frequentHitThreshold的可缓存URL请求时,才会缓存请求


这是一个很好的解释:

可能是线程池吗?您能详细说明一下吗?几个问题:您使用的测试混合类型是什么?(假设最有可能的用户步调)您是否有一组最大的测试迭代次数?在最大用户负载下,您是否有办法验证用户是否仍在以期望的速度/速率完成预期工作?您是否有可能在测试执行的早期阶段出现任何类型的缓存,这些缓存在所有用户登录时完成?也可能是您的应用程序已绑定I/O,而不是CPU受限,这样过了某个时间点,您的CPU开始有一部分时间处于空闲状态,因为它正在等待争夺磁盘或网络资源。