我有一个关于K6并行测试的概念性问题。我想并行运行多个测试脚本。如果我选择像下面这样使用docker compose文件来运行它们,我们能说它是真正意义上的并行吗?据我所知,docker compose中的每个k6容器都是一个独立的单元,有自己的处理器?对吗?那么,这可以称为并行测试吗?
version: '3'
services:
k6_test:
image: loadimpact/k6
container_name: test_k6
volumes:
- ./:/specs
command: run /tests/test_spec.js
ports:
- "6565:6565"
k6_test2:
image: loadimpact/k6
container_name: test2_k6
volumes:
- ./:/specs
command: run /tests/test2_spec.js
ports:
- "6566:6566"发布于 2021-11-11 16:10:26
您将拥有两个独立的容器,并且测试将能够并行运行。它们将使用普通的Linux内核调度机制,并且不一定有“它们自己的处理器”;这种设置可以很好地工作,而且即使只有一个物理核心,也可以并行执行。
话虽如此,一种更典型的被称为“并行测试”的方法是让一个测试运行器能够独立并行运行多个测试。例如,许多单元测试系统都有一个“并行测试”选项,可以在多个线程上运行测试。因为k6更像是一个负载测试工具,所以它能够启动多个并发的HTTP请求,而不需要您展示的那种手动设置;k6文档中的Load testing和Stress testing描述了一些典型的设置。
https://stackoverflow.com/questions/69931364
复制相似问题