使用 bencher run 的 Testbeds & Specs
Testbed 是运行报告时使用的测试环境的名称。
使用 bencher run CLI 子命令时,
通过 --testbed 选项或 BENCHER_TESTBED 环境变量选择一个 Testbed。
如果两者都未指定,将根据主机操作系统默认使用 Linux、macOS 或 Windows。
如果 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 环境变量。
如果两者都未指定,则基于主机操作系统,默认使用 Linux、macOS 或 Windows。
如果 bencher CLI 被编译用于其他操作系统,则默认使用 localhost 作为测试平台。
--spec <SPEC>
指定 Spec 的 slug 或 UUID。 Spec 是一种硬件规范,描述了 Runner 可用的资源:
- 操作系统 (OS)
- Linux
- macOS
- Windows
- CPU 架构
- x86_64
- ARM64
- Sandbox
- Firecracker microVM
- 无 Sandbox
- CPU 数量
- 内存大小 (RAM)
- 磁盘大小
- 网络访问
以下 Spec 目前在 Bencher Cloud 上可用:
| 名称 | Slug | OS | 架构 | Sandbox | CPU | 内存 | 磁盘 | 网络 |
|---|---|---|---|---|---|---|---|---|
| Intel v1 | intel-v1 | Linux | x86_64 | Firecracker microVM | 4 | 48.0 GiB | 128.0 GiB | 无 |
Spec 可以是服务器级别的或组织级别的, 因此同一 Spec 可以在同一服务器上的多个 Testbed 之间或在同一组织内共享。
使用 bencher run 时选择 Spec 的优先级顺序如下:
--spec选项- 分配给 Testbed 的 Spec
- 默认的组织级别 Spec
- 默认的服务器级别 Spec
所选的 Spec 将分配给当前的 Testbed。
此选项要求设置 --image 选项。
--spec-reset
重置 Testbed 的 Spec,移除其硬件规格。
提交运行时,这将清除与 Testbed 关联的 spec。
需要 --testbed 选项。
与 --image 选项 冲突。
🐰 恭喜!您已经学会了所有关于 Testbeds & Specs 的知识!🎉