菜单
开源 RSS

执行器 (Executors)

执行器 (Executors) 控制 k6 如何调度 VUs(虚拟用户)和迭代。您选择哪个执行器取决于您的测试目标以及您想模拟的流量类型。

在场景对象的 executor 键中定义执行器。其值是用连字符分隔的执行器名称。

JavaScript
export const options = {
  scenarios: {
    arbitrary_scenario_name: {
      //Name of executor
      executor: 'ramping-vus',
      // more configuration here
    },
  },
};

所有执行器

下表列出了所有 k6 执行器及其文档链接。

名称描述
共享迭代shared-iterations一定数量的迭代在多个 VU 之间共享。
在一定数量的 VU 之间共享。
每个 VU 迭代per-vu-iterations每个 VU 执行固定数量的迭代。
固定 VUconstant-vus固定数量的 VU 在指定时间内尽可能多地执行迭代。
固定数量的 VU 在指定时间内尽可能多地执行迭代。
渐变 VUramping-vus可变数量的 VU 在指定时间内尽可能多地执行迭代。
固定数量的 VU 在指定时间内尽可能多地执行迭代。
固定到达率constant-arrival-rate在指定时间段内执行固定数量的迭代。
在指定时间段内执行固定数量的迭代。
渐变到达率ramping-arrival-rate在指定时间段内执行可变数量的迭代。
在指定时间段内执行可变数量的迭代。
外部控制externally-controlled通过 k6 的 REST APICLI 在运行时控制和扩展执行。
通过 k6 的 REST APICLI 在运行时控制和扩展执行。

注意

对于任何给定的场景,您无法保证特定的 VU 可以运行特定的迭代。

通过 SharedArray执行上下文变量,您可以将特定的 VU 映射到测试数据中的特定值。因此,第十个 VU 可以使用数组中的第十项(或第六次迭代使用第六项)。

但是,您无法可靠地将(例如)第十个 VU 映射到第十次迭代。