Visual Studio 负载测试用一个用户模拟多个用户

Posted

技术标签:

【中文标题】Visual Studio 负载测试用一个用户模拟多个用户【英文标题】:Visual studio load test simulate multiple users with one user 【发布时间】:2019-04-02 02:11:03 【问题描述】:

我在 Visual Studio 中有一个 webtest,它登录到一个网站并点击几下。我想为 2000 个用户模拟这个,而不需要在 csv 文件或数据库中进行那么多登录。将我的 webtest 配置为通过每 10 秒步进 10 个用户来运行测试 30 分钟,它可以正常运行 2 分钟,然后失败并出现多个错误。这可能吗?如果是这样,我该怎么做?

【问题讨论】:

【参考方案1】:

负载测试旨在执行您的问题中所述的内容,但问题中的细节太少,无法给出好的答案。每 10 秒添加 10 个用户意味着 2 分钟后有 2*60/10 = 12 个增量,因此 10(用户)* 2(分钟)* 60(每分钟秒数)/10(步长持续时间)= 120 个用户。如果它运行了整整 30 分钟,那么将有 10*30*60/10 = 1800 个用户。 Microsoft 提供recommendations 说明一台计算机可以运行多少用户以及何时使用其他代理计算机。这些只是起点,并未考虑各个测试的细节。

与其开始进行 2000 名用户的测试,不如开始更慢一些,并为适量的用户建立测试套件和网站的工作原理。我建议重新运行测试,每分钟增加 10 个用户。然后 2 分钟后将有 10*2*60/10 = 120 个用户。如果该测试有效,则将步长间隔减少到(可能)20 秒。

该问题没有说明正在生成哪些错误。需要分析实际错误以确定问题的性质和位置。可能是服务器、网络或运行测试的计算机的某些部分达到了限制。找到限制组件后,您就知道需要更改什么。

【讨论】:

运行 2-3 分钟后,我得到的 http 错误是 400 错误请求、401 未授权、500 内部服务器错误、网关超时。最初它成功,直到像 1000 个请求 这些错误是超载的典型症状。你需要做更多的调查。

以上是关于Visual Studio 负载测试用一个用户模拟多个用户的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 负载测试中为每个用户从不同的客户端 IP 向服务器发送请求

使用 Visual Studio 2013 进行负载测试,将参数传递给虚拟用户

Visual Studio 负载测试不断发送请求

Visual Studio 2012 负载测试忽略步数

Visual Studio 2010 如何在负载测试中管理虚拟用户?

在 Visual Studio 2010 负载测试用户包中将用户数升级到 250 或更多