使用 bencher run 的 Testbeds & Specs


Testbed 是运行报告时使用的测试环境的名称。 使用 bencher run CLI 子命令时, 通过 --testbed 选项或 BENCHER_TESTBED 环境变量选择一个 Testbed。 如果两者都未指定,将根据主机操作系统默认使用 LinuxmacOSWindows。 如果 bencher CLI 已为不同的操作系统编译,则使用 localhost

当 Testbed 用于裸机基准测试时,将为其分配一个 Spec。 在裸机基准测试期间,如果 --testbed 选项和 BENCHER_TESTBED 环境变量都未设置,则使用 Spec 的名称。 创建报告时,Testbed 当时的当前 Spec 会被记录到报告中。 阈值只使用来自相同 Testbed 和 Spec 的结果。 这使您可以追踪基准测试结果与底层硬件之间的关系, 即使 Testbed 的 Spec 随时间发生变化。 使用 --spec 选项设置或更新 Testbed 的 Spec, 或使用 --spec-reset 标志将其清除。

--testbed <TESTBED>


可以通过 --testbed 选项或者 BENCHER_TESTBED 环境变量设定 测试平台 的名称、slug 或 UUID。 如果指定的值是名称或 slug 且测试平台不存在,它将为您创建。 然而,如果指定的值是 UUID,则测试平台必须已经存在。 如果同时指定了这两个选项,--testbed 选项优先于 BENCHER_TESTBED 环境变量。 如果两者都未指定,则基于主机操作系统,默认使用 LinuxmacOSWindows。 如果 bencher CLI 被编译用于其他操作系统,则默认使用 localhost 作为测试平台。

--spec <SPEC>


指定 Spec 的 slug 或 UUID。 Spec 是一种硬件规范,描述了 Runner 可用的资源:

  1. 操作系统 (OS)
    1. Linux
    2. macOS
    3. Windows
  2. CPU 架构
    1. x86_64
    2. ARM64
  3. Sandbox
    1. Firecracker microVM
    2. 无 Sandbox
  4. CPU 数量
  5. 内存大小 (RAM)
  6. 磁盘大小
  7. 网络访问

以下 Spec 目前在 Bencher Cloud 上可用:

名称SlugOS架构SandboxCPU内存磁盘网络
Intel v1intel-v1Linuxx86_64Firecracker microVM448.0 GiB128.0 GiB

Spec 可以是服务器级别的或组织级别的, 因此同一 Spec 可以在同一服务器上的多个 Testbed 之间或在同一组织内共享。

使用 bencher run 时选择 Spec 的优先级顺序如下:

  1. --spec 选项
  2. 分配给 Testbed 的 Spec
  3. 默认的组织级别 Spec
  4. 默认的服务器级别 Spec

所选的 Spec 将分配给当前的 Testbed。 此选项要求设置 --image 选项

--spec-reset


重置 TestbedSpec,移除其硬件规格。 提交运行时,这将清除与 Testbed 关联的 spec。 需要 --testbed 选项。 与 --image 选项 冲突。


🐰 恭喜!您已经学会了所有关于 Testbeds & Specs 的知识!🎉


继续前进:阈值和警告 ➡

🤖 该文档由 AI 自动翻译。 它可能不准确并且可能包含错误。 如果您发现任何错误,请在 GitHub 上提出问题.


Published: Fri, April 10, 2026 at 6:00:00 AM UTC