每个 VU 的 K6 内存消耗



我最近开始使用k6,非常喜欢编写测试的方法。当我开始第一次认真测试时,我发现每个 VU 的内存消耗相当高,即使我的测试不是很大。正如我在这里阅读的那样,如果脚本很小,则每个 VU 的内存消耗应该在 1-2 MB 左右。在我的情况下,每个VU的内存消耗约为5 MB。

为了验证一个非常简单的脚本需要多少内存,我创建了一个什么都不做的脚本:

export default function() {
}

当我使用 2000 个用户运行此脚本时

docker run --rm -v /tmp:/tmp loadimpact/k6 run -u 2000 --paused --no-teardown --no-setup /tmp/MemTest.js

我最终得到 10 GB 的内存使用量(每个 VU 约 5MB(

因此,即使JS为空,内存使用率也很高。这是意料之中的吗?

不幸的是,你是对的,似乎内存使用量增加了,或者我们之前的测量不正确。一项简短的调查显示,当前内存使用的罪魁祸首是我们使用核心.js库。我创建了一个新的 github 问题来进一步研究我们如何改善或改善这种情况:https://github.com/loadimpact/k6/issues/1036

@user1171006,尝试使用 loadimpact/k6:master docker 映像,在我们合并 https://github.com/loadimpact/k6/pull/1038 后,VU 内存使用量应该几乎减半。您尝试的 2000 VU 测试现在在我的机器上占用了不到 5GB 的 RAM。

最新更新