问题标签 [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.
regex - 解析 k6 数据的输出以获取特定信息
我正在尝试从 k6 输出(https://docs.k6.io/docs/results-output)中提取数据:
数据采用上述格式,我试图找到一种方法来获取上面的每一行以及仅值。举个例子:
我必须为大约 50-100 个文件执行此操作,并且希望找到 RegEx 或类似的更快方法来执行此操作,而无需编写太多代码。是否可以?
javascript - 恒定负载(每秒 x 个新请求)
有没有办法配置具有恒定负载的性能测试用例(例如,每秒 3 个新请求,持续 1 分钟)?
其他负载测试库具有此功能来设置请求率(例如 Artillery.io、Vegeta)。k6
有办法设置VUs
,但 VU 直到上一次迭代完成才发出新请求。
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 看起来像这样
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 完成。
javascript - 我可以使用 k6 ping 服务器吗
我可以通过k6发送 ping 请求吗,可以吗?
我知道k6
的 websocket 可以发送一个 ping 请求,但它是 ws ping 并且它只支持ws
和wss
.
或者我怎样才能执行一个shell脚本?
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 上查找蓝鸟:没有这样的主机
我能做些什么来解决这个问题?理想情况下,我不想通过每个依赖项及其子项将模块位置转换为其绝对路径。
非常感谢。
k6 - dial tcp: getsockopt: 本地测试连接被拒绝
几天来,我一直在使用 k6 在几个不同的环境中对 API 进行负载测试并追踪一些错误。
一切都很顺利,直到突然它开始在本地失败。
所有请求都会导致以下错误:
请求失败错误=“获取
http://localhost:8000
:拨号tcp [::1]:8000:getsockopt:连接被拒绝”
这只发生在k6;我仍然可以通过浏览器、Postman 和 cURL 成功调用本地 API。
有什么方法可以从 k6 中获取更多信息并找出它无法连接的原因吗?
performance-testing - 我可以在 loadimpact/k6 脚本中传递自定义命令行参数吗?
如官方 loadimpact/k6 文档中所示,我们能够执行 k6 脚本,如下所示:
是否可以将自定义命令行参数传递给 k6 测试?例如,假设我想传入一个 URL,然后从脚本中引用这个 URL。
是否支持开箱即用?如果是这样,我该如何做到这一点?
performance-testing - 如何通过 loadimpact/k6 中的单个命令执行多个 k6 脚本?
如官方 loadimpact/k6 文档所示,我们能够执行单个 k6 脚本,如下所示:
我将如何在一次运行中执行多个脚本文件?特别是驻留在给定本地目录中的所有脚本。就像是:
k6是否支持开箱即用?