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