Visual Studio Web性能测试 - 我可以进行非编码Web测试并行执行请求

时间:2015-09-30 08:37:56

标签: performance visual-studio load-testing

使用Visual Studio 2013 Ultimate进行负载测试。

我面临的主要问题是Web性能测试按顺序执行所有包含Web请求的问题。这不是浏览器的工作方式(而是使用多个并行线程)。

简化示例

  • 致电(1秒)
  • AJAX召唤1(1秒)
  • AJAX通话2(1秒)
  • AJAX致电3(1秒)

浏览器将同时执行所有AJAX调用并在2秒内完成页面。

Web性能测试按顺序执行(一次一个)并报告测试需要4秒才能完成。

我知道我可以使用Coded Web测试来并行执行这些操作,但是如果可能的话,我想坚持使用工具。

这可能吗?

1 个答案:

答案 0 :(得分:2)

将请求添加为另一个请求的相关请求。

创建一个不加载任何有用内容的顶级请求。我一直在使用" http://localhost/"类似的东西。设置"解析依赖请求"和"遵循重定向"此请求的属性为false。这是为了避免测试套件添加更多请求。将要作为显式相关请求并行执行的请求添加到此顶级请求。

浏览器的工作方式是提取相关请求列表,然后同时发送多个请求,以便并行处理它们。当收到对这些请求的响应时,将发送列表中的其他请求。这将一直持续到列表为空。将并行发出的请求数取决于浏览器(可能由用户或计算机的配置数据修改)。 Visual Studio在模拟浏览器时使用的并行性可以在目录MaxConnections中的C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Templates\LoadTest\Browsers值中看到(根据Visual Studio版本和安装目录的需要进行修改)。另请参阅"Visual Studio Performance Testing Quick Reference Guide" (Version 3.6)第45页的顶部,这意味着"。浏览器"没有明确MaxConnections值的文件只支持两个连接。

可能并行执行的请求之一会更好地作为顶级请求。