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

Visual Studio Web Performance Test - Can I make a non-coded web test execute requests in parallel

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

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

简化示例

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

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

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

这可能吗?

将请求添加为另一个请求的依赖请求。

创建一个不加载任何有用内容的顶级请求。我一直在使用“http://localhost/”来做类似的事情。将此请求的 "Parse dependant requests" 和 "Follow redirects" 属性设置为 false。那是为了避免测试套件添加更多请求。将要并行执行的请求作为显式依赖请求添加到此顶级请求。

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

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