问题标签 [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 投票
1 回答
633 浏览

regex - 解析 k6 数据的输出以获取特定信息

我正在尝试从 k6 输出(https://docs.k6.io/docs/results-output)中提取数据:

数据采用上述格式,我试图找到一种方法来获取上面的每一行以及仅值。举个例子:

我必须为大约 50-100 个文件执行此操作,并且希望找到 RegEx 或类似的更快方法来执行此操作,而无需编写太多代码。是否可以?

0 投票
2 回答
2056 浏览

javascript - 恒定负载(每秒 x 个新请求)

有没有办法配置具有恒定负载的性能测试用例(例如,每秒 3 个新请求,持续 1 分钟)?

其他负载测试库具有此功能来设置请求率(例如 Artillery.io、Vegeta)。k6有办法设置VUs,但 VU 直到上一次迭代完成才发出新请求。

0 投票
1 回答
1449 浏览

docker - k6 使用 docker,运行时安装卷错误,“接受 1 个参数,收到 2 个”

我正在尝试使用 k6 docker 在我的 CI 环境中运行 perf 测试,并且一个简单的单个脚本文件可以正常工作。但是,我想将我的测试分解为多个 JS 文件。为此,我需要在 Docker 上挂载一个卷,以便导入本地模块。

使用我的命令,卷似乎安装正确

k6 似乎已启动,但立即出现错误

time="2018-01-17T13:04:17Z" level=error msg="accepts 1 arg(s), received 2"

在本地,我的文件系统看起来像

index.js 看起来像这样

0 投票
1 回答
761 浏览

k6 - 如何在 k6 负载测试 API 中向自定义 IP 发出 HTTP 请求?

是否可以将 k6 HTTP 请求强制发送到自定义 IP?

即DNS的主机名指向IP地址A,而测试网站,相同的主机名,在IP地址B上;需要向网站 B 发送 k6 负载测试请求。

它是 HTTPS,因此存在调用https://[ip address] 和标头 Host: [hostname] 的证书问题(显示“x509:无法验证 [ip address] 的证书,因为它不包含任何 IP SAN”消息)

从本地主机工作我目前正在编辑 /etc/hosts 作为解决方法。

可以在 loadimpact.com API ( https://loadimpact.com/load-script-api#http ) 中设置 IP 地址,我希望可以通过 k6 API 完成。

0 投票
1 回答
156 浏览

javascript - 我可以使用 k6 ping 服务器吗

我可以通过k6发送 ping 请求吗,可以吗?

我知道k6的 websocket 可以发送一个 ping 请求,但它是 ws ping 并且它只支持wswss.

或者我怎样才能执行一个shell脚本?

0 投票
1 回答
835 浏览

docker - 本地模块未通过 K6 中的 Docker 挂载

作为负载测试的一部分,在 K6 中,我需要针对 AWS 进行身份验证,这需要生成 JWT 令牌。这需要各种本地模块;aws-sdk、crypto-js 等等。

这些位于标准./node_modules文件夹中。

我读到 Docker 最初并不了解本地目录,因此需要挂载它们。

这是我目前用来实现此目的的命令:

在我的http_post.js文件中,它有:

目前错误:

错误 [0024] GoError: 获取https://request-promise?_k6=1 : dial tcp: lookup request-promise on 127.0.0.11:53: read udp 127.0.0.1:55571->127.0.0.11:53: i/ o 超时

如果我删除导入,它可以工作。

然后,如果我将其更改为:

似乎缓解了这个问题,但随后出现了另一个类似的问题(我认为这取决于模块使用的子依赖项):

错误 [0004] GoError:获取https://bluebird?_k6=1:拨号 tcp:在 127.0.0.11:53 上查找蓝鸟:没有这样的主机

我能做些什么来解决这个问题?理想情况下,我不想通过每个依赖项及其子项将模块位置转换为其绝对路径。

非常感谢。

0 投票
2 回答
7345 浏览

k6 - dial tcp: getsockopt: 本地测试连接被拒绝

几天来,我一直在使用 k6 在几个不同的环境中对 API 进行负载测试并追踪一些错误。

一切都很顺利,直到突然它开始在本地失败。

所有请求都会导致以下错误:

请求失败错误=“获取http://localhost:8000:拨号tcp [::1]:8000:getsockopt:连接被拒绝”

这只发生在k6;我仍然可以通过浏览器、Postman 和 cURL 成功调用本地 API。

有什么方法可以从 k6 中获取更多信息并找出它无法连接的原因吗?

0 投票
2 回答
1822 浏览

docker - InfluxDB:无法写入统计信息“错误 getsockopt:连接被拒绝”

我正在Ubuntu 16.04 上安装influxdb

我正在创建数据库 k6base

然后我正在尝试运行命令

并得到错误

我不明白为什么会出现该错误 需要做什么来修复它?请帮忙

0 投票
1 回答
3507 浏览

performance-testing - 我可以在 loadimpact/k6 脚本中传递自定义命令行参数吗?

如官方 loadimpact/k6 文档中所示,我们能够执行 k6 脚本,如下所示:

是否可以将自定义命令行参数传递给 k6 测试?例如,假设我想传入一个 URL,然后从脚本中引用这个 URL。

是否支持开箱即用?如果是这样,我该如何做到这一点?

0 投票
3 回答
7017 浏览

performance-testing - 如何通过 loadimpact/k6 中的单个命令执行多个 k6 脚本?

如官方 loadimpact/k6 文档所示,我们能够执行单个 k6 脚本,如下所示:

我将如何在一次运行中执行多个脚本文件?特别是驻留在给定本地目录中的所有脚本。就像是:

k6是否支持开箱即用?