使用Visual Studio 2013 Ultimate进行负载测试。
我面临的主要问题是Web性能测试按顺序执行所有包含Web请求的问题。这不是浏览器的工作方式(而是使用多个并行线程)。
简化示例
浏览器将同时执行所有AJAX调用并在2秒内完成页面。
Web性能测试按顺序执行(一次一个)并报告测试需要4秒才能完成。
我知道我可以使用Coded Web测试来并行执行这些操作,但是如果可能的话,我想坚持使用工具。
这可能吗?
答案 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
值的文件只支持两个连接。
可能并行执行的请求之一会更好地作为顶级请求。