首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >k6:如何管理rps-增加VUs数量的每个阶段的限制

k6:如何管理rps-增加VUs数量的每个阶段的限制
EN

Stack Overflow用户
提问于 2019-11-10 10:41:40
回答 1查看 2.2K关注 0票数 1

我有一个关于基本术语的问题,但我没有找到详细的解释。输入数据:框架k6 v0.25.1,http-请求。

问题#1:从一个角度看,VU (虚拟用户)的实现是什么?

( 1)客户端;

2)服务器端;

3)客户端与服务器的交互?

关于VU本质的微妙之处,尤其是在k6内部,您应该读些什么?现在,我发现每个VU占据了客户端和服务器端的一个网络端口。

负载概况:

1) rps:1;vus:1;持续时间为N分钟--我在Grafana中看到,请求数量的增加实际上是最小的:+~1 rps。一切都很好;

2) rps:1;vus: 1..1000,stages中的选项stages在N分钟内加速--我看到负载在峰值时增加了,尽管k6文档的选项" rps“是”每秒发出的请求的最大数量,在所有VUs中都是如此“,也就是说,与经验1相类似,在~+100rps选项中,我期望看到负载在~1 rps中--也就是说,k6错误地认为rps限制在所有VUs线程中没有正确地占用rps的数量,或者每个VU存在所需的隐藏合法行为。

注意:我在场景的开始和结束设置了任意的超时,以实现均匀的加载分布。

问题2:当vus增加时,非法超过rps限制的rps的难以置信的增长是什么原因?

示例:

代码语言:javascript
复制
import http from "k6/http";

export let options = {
    stages: [
        { duration: "1m", target: 1, rps: 1 },
        { duration: "1m", target: 200, rps: 1 },
        { duration: "1m", target: 500, rps: 1 },
        { duration: "1m", target: 1000, rps: 1 },
        { duration: "1m", target: 500, rps: 1 },
        { duration: "1m", target: 200, rps: 1 },
        { duration: "1m", target: 1, rps: 1 },
    ]
};

export default function() {
  http.get("https://httpbin.test.loadimpact.com/get"); 
  console.log("request made by VU " + __VU); 
};

EN

回答 1

Stack Overflow用户

发布于 2019-11-11 08:30:25

Virtual UserVUk6的特定定义和实现。VU是执行脚本、向服务器发出一个或多个HTTP请求的实体。

如果您正在测试web服务器,您可以认为VU与实际用户相同。

如果您正在测试API,VU可以产生比实际VUs更多的每秒对服务器的请求。例如,您可以定义5个VUs,但每一个都可以每秒产生10个请求。这就是为什么当您的VUs增加,您可以很快达到RPS限制。

您可以在这个链接上阅读有关VU定义的更多细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58787833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档