- sskj.deploy runtime 支持 NODE_HOSTS 多节点编排(ssh 分发/本地 rank/LOCAL_NODE_RANK)
与 ENGINE=vllm 启动(SERVER_CMD),容器名按 rank 自动唯一
- scripts/common/deploy_cli.sh 新增 deploy_stop/status/multinode helper 与 node-rank 透传
- src/sskj/common/env.py 修复嵌套 ${VAR:-${OTHER}/path} 展开(平衡花括号扫描)
- deploy/profiles/pro6000/ 新增 6 个 profile: tp16/tp16_eagle/glm52(多节点)、
sglang/vllm tp_dp_matrix、qwen3(单节点)
- 6 个实验 start/stop 脚本改为 deploy 薄包装,run_bench/adaptive 的 server 启停走
deploy_render_args/deploy_start/deploy_stop,tp16 新增 matrix.json
- 首次入库 glm52_pro6000_sglang_multinode_tp16 实验目录;ops/README.md 补 pro6000 章节
- 实测通过: 单节点 dsv4 sglang/vllm 链路 + tp16 双节点启动/bench/清理
3.8 KiB
3.8 KiB
运维一键测试手册
这份手册只说明怎么跑测试。模型部署由模型团队负责,运维不需要理解
SGLang/vLLM 的引擎参数,也不需要执行 python -m sskj.deploy。
0. 准备
cd /data1/yy/sskj
python3 -m pip install -e . --no-deps
如果不想安装,也可以每次执行时加 PYTHONPATH=src:
cd /data1/yy/sskj
PYTHONPATH=src python3 -m sskj.bench --help
1. 查看可测试的实验
PYTHONPATH=src python3 -m sskj.bench list --platform p800
PYTHONPATH=src python3 -m sskj.bench list
2. 冒烟测试
PYTHONPATH=src python3 -m sskj.bench run \
--url http://10.100.11.2:30014 \
--platform p800 \
--experiment dsv4_p800_sglang_tp_dp_matrix \
--profile smoke
3. 完整矩阵测试
PYTHONPATH=src python3 -m sskj.bench run \
--url http://10.100.11.2:30014 \
--platform p800 \
--experiment dsv4_p800_sglang_tp_dp_matrix \
--profile matrix
--profile matrix 使用实验目录里的 matrix.json,只测试 Y 标记的场景,
每个 ISL 取低/高两个并发档位。
4. 先看计划再执行
任何 run 命令都可以加 --dry-run,只打印 URL、client 模式、场景清单和
结果路径,不发送请求。
5. 结果在哪里
结果默认写回实验目录:
experiments/<platform>/<experiment>/results/<run_id>/
├── results.json
├── report.md
├── run_manifest.json
├── raw_outputs/
└── logs/
把 <run_id> 或 report.md 路径发给模型团队即可。
6. client 模式
默认自动选择:
| 平台 | 默认 client |
|---|---|
| P800 | server-container(进入已部署容器执行,保留厂商 bench_serving) |
| H20/H200/6000D | docker(独立 sglang client 容器) |
| 910C | server-container 或 native(按实验配置自动选择) |
跨机测试时可用 --client docker --client-image lmsysorg/sglang:latest
指定外部 client。
7. pro6000(RTX 6000D)平台说明
实验目录 experiments/pro6000/,部署 profile 见 deploy/profiles/pro6000/。
可测实验:
PYTHONPATH=src python3 -m sskj.bench list --platform pro6000
# dsv4_pro6000_sglang_tp16 / dsv4_pro6000_sglang_tp16_eagle
# dsv4_pro6000_sglang_tp_dp_matrix / dsv4_pro6000_vllm_tp_dp_matrix
# glm52_pro6000_sglang_multinode_tp16 / qwen3_235b_pro6000_sglang_tp8
单节点实验(dsv4/vllm tp_dp_matrix、qwen3,均 8x RTX 6000D 单机):
PYTHONPATH=src python3 -m sskj.bench run \
--url http://<head-ip>:30031 \
--platform pro6000 \
--experiment dsv4_pro6000_sglang_tp_dp_matrix \
--profile smoke
多节点实验(tp16 / tp16_eagle / glm52,2 台机器 16x RTX 6000D):
- head 节点 pro6000D.1(
10.101.0.11/174.1.51.5,HTTP API 所在) - worker 节点 pro6000D.3(
10.101.0.13/174.1.51.7,纯计算) --url固定指向 head 节点端口(tp16/eagle: 30000,glm52: 30031), bench client 在 head 节点跑,worker 由部署层通过 ssh 管理:
PYTHONPATH=src python3 -m sskj.bench run \
--url http://10.101.0.11:30000 \
--platform pro6000 \
--experiment dsv4_pro6000_sglang_tp16 \
--profile smoke
vLLM 实验(dsv4_pro6000_vllm_tp_dp_matrix)的 bench client 使用 SGLang
镜像(vLLM 镜像不含 bench_serving),由 DOCKER_CLIENT_IMAGE 自动选择,
无需额外参数。
8. 常见问题
- 服务不健康:确认
--url的端口可从测试机访问,服务已启动且/health可通。 - 数据集缺失:仓库
datasets/下没有 ShareGPT 文件时,统一 CLI 会自动退回random-ids,可用于连通性验证;正式矩阵前先放好数据集。 - P95 指标:P800 使用容器内
bench_serving,解析层会从逐请求数据补算 P95, 与旧实验口径一致。 - 不要执行部署命令:
python -m sskj.deploy仅模型团队使用。