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 进行负载测试,将参数传递给虚拟用户