【问题标题】:K6 - parallel test in docker containerK6 - docker 容器中的并行测试
【发布时间】:2021-11-11 16:01:50
【问题描述】:

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

【问题讨论】:

    标签: docker parallel-processing k6


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-22
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多