第一次 Run
本指南会建立最小可用闭环:环境值 → Scenario → Test Plan → Run → Report。
开始前,请先启动 Tagged Release 或源码完整技术栈。源码 Preview 不会准备 Runtime 或 Load Node,因此无法满足本指南要求。
使用安全的测试目标
请选择你拥有或已获得明确测试授权的非生产 Endpoint。首次测试保持一个并发用户, 持续 60 秒。
第 1 步:注册首位 Admin
打开启动命令输出的 Web URL,选择 Sign up。第一个账号会成为 Admin,并创建 Default Workspace。后续注册遵循当前部署的 Signup Policy。
第 2 步:创建 Env Group
Env Group 将环境专用值与可复用 Scenario 分开保存。
- 打开 Assets → Env Groups。
- 选择 New Env Group。
- 将其命名为
local。 - 添加一个 Plain Variable,Key 为
base_url,Value 为测试目标的完整 Origin, 例如https://test-api.example.com。 - 选择 Save Env Group。
不要为 base_url 选中 Secret。Secret 值是只写的,保存后会被脱敏;它们用于 凭据,不适合普通目标地址。
第 3 步:准备 Load Node
Run 至少需要一个已初始化且处于 Idle 状态的 Load Node。请根据 SurgePilot 的启动方式 选择对应路径。
源码完整技术栈:注册 Demo Node
make start-full-stack 会启动 Compose 内部 SSH Node 并输出连接信息。在仓库根目录 验证 Host Key Fingerprint,并在本机读取生成的密码:
ssh-keygen -lf .surgepilot/demo-load-node/ssh_host_ed25519_key.pub -E sha256
cat .surgepilot/secrets/demo-load-node-password.secret请将该密码视为 Secret,不要粘贴到 Issue、日志或源码文件中。
在 SurgePilot 中:
- 打开 Resources → Load Nodes,选择 Register Load Node。
- 保持 Scope 为 Private。
- 输入 Host
demo-load-node、Port22和 SSH Usersurgepilot。 - 选择 Scan key。将显示的 SHA-256 Fingerprint 与
ssh-keygen输出对比, 然后保留扫描到的 Key。 - 选择 Password 认证并输入生成的密码。
- 将 Runner home 留空以使用 API 默认值,然后选择 Register Load Node。
- 返回 Load Nodes,对
demo-load-node选择 Initialize,等待状态变为 Idle。
Tagged Release:注册外部 Node
Tagged Release 默认禁用 Demo Node。请准备满足以下条件的 Linux 计算机:
- Ubuntu 24.04 或更高版本,或者 Debian 12 或更高版本。
x86_64(amd64)或aarch64(arm64)。- SurgePilot API 可以通过 SSH 访问。
- 安装
tar、POSIX Shell、Java 11 或更高版本,以及 Python 3.12 或更高版本。
打开 Resources → Load Nodes → Register Load Node,输入 SSH 连接信息,扫描并 独立验证 Host Key Fingerprint,然后提供一种受支持的 Credential 类型。注册完成后, 选择 Initialize 并等待状态变为 Idle。该节点必须能访问你在 surgepilot up 期间确认的 API 和 InfluxDB Node-Facing URL。
第 4 步:创建 Scenario
Scenario 是可复用的有序请求流程。
- 打开 Scenarios,选择 Create Scenario。
- 将其命名为
health-check,并将 Base URL expression 设置为${base_url}。 - 打开新 Scenario,选择 Add Step。
- 保持 Method 为 GET,输入安全的目标路径,例如
/health;如果目标的正确状态为200,请保留默认 Expected-Status Assertion。 - 选择 Save。
选择 local Env Group 和一个 Idle Node 后,可以使用 Debug Run 进行聚焦验证。 Debug Run 只使用一个 Node,不会生成 Monitoring 数据。也可以直接继续创建低负载 Test Plan。
第 5 步:创建 Test Plan
Test Plan 将已保存的 Scenario 与 Env Group、负载设置、资源和可选 SLA Rule 组合起来。
- 打开 Test Plans,选择 Create Test Plan。
- 将其命名为
health-check-low-load并创建。 - 在 Global Context 下选择
localEnv Group。 - 在 Resource Configuration 下选择 Manual selected nodes,将 Pool Type 设置为 Private,选择 Idle Node,然后选择 Done。
- 在 Scenario Orchestration 下选择 Add Scenario,再选择
health-check。 - 首次 Run 保持 Concurrency / Node 为
1、Ramp-up 为0、Hold-for 为60。 - 可以按目标情况添加适当阈值的 SLA Rule。
- 选择 Save。
- 在 Generated YAML Preview 下选择 Standard,然后选择 Preview YAML。 该 Preview 为只读,反映最新保存的 Test Plan Revision。
第 6 步:执行和评审
选择 Run Now。Run 执行期间,SurgePilot 会打开 Run Report。等待 Run 进入终态, 然后检查:
- Verdict Summary:Run 状态、Validity 和 SLA 结果。
- KPI Summary 和 Final Stats Preview:响应和错误指标。
- Failure Diagnostics:Run 未按预期完成时的诊断信息。
- Snapshot Summary:本次 Run 使用的不可变配置。
- Artifacts:可下载的日志和结果文件。
- Nodes:各 Node 的执行状态。
之后可以从 Runs 返回并选择 View Report。Report 记录保存的 Run Snapshot; 后续修改 Env Group、Scenario 或 Test Plan,不会重写这份历史记录。
本中文译文由 AI 辅助完成;如与英文版存在差异,请以英文版为准。