0

我最近开始使用 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 是空的,内存使用率也很高。这是预期的吗?

4

1 回答 1

1

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

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

于 2019-05-31T13:15:33.530 回答