问题标签 [k6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
95 浏览

k6 - PFX 证书中的关键值是什么

我的 PFX 证书的密钥值是多少,我使用密码作为字符串,然后出现错误,无法在证书输入中找到任何 PEM 数据 -

还想知道是否有任何示例代码可以传递密钥,我的证书的密钥是什么,因为它只有密码。

示例代码:

0 投票
1 回答
2534 浏览

asynchronous - k6 http调用是异步的吗?

k6 http调用是异步的吗?当我执行一个呼叫时,就像http.get(url, params)k6等到响应?

如果它是异步的,假设我正在执行几个调用,我希望一个调用的响应作为另一个调用的参数。在执行第二次调用之前如何等待,直到从第一次调用返回响应?

0 投票
1 回答
1657 浏览

load-testing - k6:增加VU数量的每个阶段如何管理rps-limit

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

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

1) 客户端;

2)服务器端;

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

您应该阅读哪些关于 VU 精髓的精妙之处,尤其是在 k6 中?现在我发现每个 VU 在客户端和服务器端占用一个网络端口。

负载配置文件:

1) rps:1;vus:1; N 分钟的持续时间——我在 Grafana 中看到请求数量的增加非常少:+~1rps。一切都很好;

2) rps:1;vus:1..1000 在 N 分钟内通过选项加速target-stages我看到负载峰值增加了 ~+100rps,尽管根据k6 文档的选项“rps”是“每秒发出的最大请求数, 在所有 VU 中总计”选项,即我希望看到负载在 ~1rps 中,而不是 ~+100rps,类似于经验 #1 — 即 rps 限制错误的 k6 错误不会在所有 VU 线程中占用 rps 数量或隐藏每个 VU 存在所需的 VU 的合法行为。

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

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

例子:

格拉法纳 在此处输入图像描述

0 投票
2 回答
3395 浏览

postman - 使用 loadimpact k6 对使用 oauth 令牌进行授权的 API 进行负载测试

我正在尝试使用 loadimpact k6 加载测试 API(GET 方法),这需要 oauth 令牌进行授权以获得成功的响应。我已经有一个邮递员收集文件,它通过运行预请求脚本来做到这一点。预请求脚本将从授权服务器请求令牌,然后将令牌填充到环境变量中。我使用“Postman to LoadImpact 转换器”来生成 k6 脚本,但它没有任何帮助。该脚本无法获取访问令牌。

转换器生成的脚本如下所示:

问题出在转换器不支持的 pm.sendRequest 上,我不确定替代方案是什么。因此,我正在寻找从授权服务器动态请求访问令牌并使用该令牌向 API 发出请求以在 k6 脚本中进行负载测试的方法。

0 投票
2 回答
2305 浏览

k6 - 我可以在 k6 负载测试框架中写入文件吗?

我正在将 k6 用于我们的性能测试套件。如果响应代码不等于 200,我想写入文件。无论如何要以默认方法或外部方法写入文件吗?

0 投票
1 回答
261 浏览

java - 用数据填充数据库的最有效方法?

嗨,我需要对我的 Spring Boot 批处理作业进行一些性能测试。我正在寻找将数据设置到 mongo 数据库中的最有效方法。数据在服务中是加密的,所以我不能直接通过mongo加载数据。我想加载超过 100 万条记录。我应该寻找使用诸如 K6 之类的负载测试工具,还是设置线程池执行器并编写一些 java 来获取数据更有意义?

0 投票
1 回答
68 浏览

amazon-dynamodb - K6 与 DynamoDB

K6 可以与 InfluxDB 一起用于数据存储和 Grafana 用于可视化。

在我们的项目中,我们使用的是 DYNAMO DB。K6 是否支持与 DynamoDB 而不是 InfluxDB 集成?

0 投票
1 回答
255 浏览

stress-testing - 以单独的吞吐量测试 k6 组

我的目标是一个 API 的 10 倍负载,这个 API 包含 6 个端点,应该在测试中,但是每个端点都有自己的吞吐量,应该乘以 10。

现在,我将所有端点放在一个脚本文件中,但是为所有端点具有相同的吞吐量没有任何意义,我想运行 k6 并且当特定组已经达到所需的吞吐量时它必须自动停止.

例子:

  • api/GetUser> 当前 1k RPM > 目标 10k RPM
  • api/GetManyUsers> 当前 500 RPM > 目标 5k RPM

主要问题是当我将每个端点放在一个单独的脚本中的一个单独的组中时,这让 k6 使用相同的虚拟用户以相同的迭代计数迭代两个组/端点,这导致两个端点达到 10 倍,这不是必需的眼下。

还有一件事,我已经尝试在单独的脚本中分离所有端点,但这很难管理,这使得监控并不容易,因为所有 6 个端点都应该并行运行。

0 投票
1 回答
150 浏览

javascript - 我如何在 k6 负载测试框架中使用绝对路径

我想在 k6 js 脚本文件中使用绝对路径。有人可以帮助如何做到这一点吗?

而不是这个

我要这个:

0 投票
2 回答
840 浏览

javascript - 如何获取从文件中导入 javascript 的路径

我有一个文件,我在其中定义了目录的绝对路径。

我想在其他 javascript 文件中使用“脚本”/“实用程序”而不是绝对路径。我该怎么做。

我想要的是 :

代替

PS:我正在使用不支持节点模块的 k6 负载生成框架。