繁体   English   中英

K6 - docker 容器中的并行测试

[英]K6 - parallel test in docker container

我有一个关于 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"

您将拥有两个独立的容器,并且测试将能够并行运行。 他们将使用正常的 Linux 内核调度机制,不一定有“自己的处理器”; 这种设置可以正常工作,即使您只有一个物理内核,您也可以并行执行。

话虽如此,一种被称为“并行测试”的更典型的方法是让一个测试运行器能够自己并行运行多个测试。 例如,许多单元测试系统都有一个“并行测试”选项,可以在多个线程上运行测试。 由于 k6 更像是一个负载测试工具,它能够启动多个并发 HTTP 请求,而无需您展示的那种手动设置; k6 文档中的负载测试压力测试描述了一些典型设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM