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

标签 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 秒才能完成。

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

这可能吗?

最佳答案

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

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

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

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

关于performance - Visual Studio Web 性能测试 - 我可以让非编码的 Web 测试并行执行请求吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32861547/

相关文章:

c - 如何提高这个 Haskell 程序的性能?

.net - Visual Studio 中的即时窗口自动清理

visual-studio - 构建单元测试

ios - 负载测试 iOS 应用程序的方法

c# - Web Socket 消息未全部收到

asp.net-mvc - 提高 ASP.NET MVC 启动性能

performance - 对平均内存访问时间 (AMAT) 感到好奇

android - 启用 Pro-guard 后无法找到 [com/loopj/android/http/MySSLSocketFactory] ​​的通用父类(super class)

c# - MSTest 中的 runsettings 和 testsettings 到底有什么区别

testing - 在 JMeter 中顺序运行多个线程组