一、总体说明
1.1 工具概述
EvalScope是一款专为大模型部署后性能评估设计的压力测试工具,支持多并发场景下的吞吐量、延迟、稳定性等核心指标测试。通过配置输入/输出Token长度、并发数等参数,可模拟真实业务负载,验证模型服务在不同上下文场景下的性能表现。工具基于Apptainer容器化部署,确保环境一致性,降低依赖冲突风险。
1.2 使用须知
网络配置:被测模型服务需暴露HTTP接口(如
http://{IP}:{PORT}/v1/completions),确保工具可通过IP和端口正常访问。资源要求:测试过程可能产生高I/O和网络负载,建议在独立测试环境中执行,避免影响生产服务。
流式输出(SSE):天翼云定制版EvalScope工具不支持流式输出,若需使用流式输出,请使用Evalscope最新官方版本,使用过程参考HCC性能测试工具--EvalScope。
1.3 应用场景
模型部署验证:确认模型服务在指定并发和上下文长度下的响应能力。
性能瓶颈定位:通过多并发和Token配置组合,识别吞吐量下降或延迟突增的临界点。
服务稳定性测试:长时间高负载下验证服务是否存在内存泄漏、连接超时等异常。
二、物料准备
2.1 天翼云定制版EvalScope高性能容器SIF文件获取
基于Apptainer(原 Singularity)封装的EvalScope压测工具,已完成x86与arm架构适配,使用cthpc一键安装工具,秒级快速下发Apptainer高性能容器灌装,当前支持:
华东1、武汉41、上海15、华北2、华南2、西南1、西南2-贵州、长沙42、杭州7。
cthpc 支持自动识别主机硬件架构,智能下发匹配当前架构的程序版本,无需人工区分架构、手动选择安装包,实现跨架构统一分发部署。
mkdir -p /home/bench
使用 cthpc 工具极速下发
cthpc apptainer makecache
cthpc apptainer install evalscope_v1.0.1-ctyun --dir /mnt/nvme0n1/apptainer/三、测试过程
3.1 测试脚本配置
将以下脚本保存至/home/bench/test.sh
#!/bin/bash
export URL="http://{IP}:{PORT}/v1/completions" # 模型服务url,指定输入输出长度测试使用“v1/completions”模式
export MODEL_NAME=DeepSeek-V4 # 推理服务模型名
export PARALLEL="1" # 并发数
export NUMBER="5" # 总请求次数,一般可设置为并发数的整数倍
export INPUT_TOKENS=1024 # 输入token长度
export OUTPUT_TOKENS=1024 # 输出token长度
export EVALSCOPE_IMG=/mnt/nvme0n1/apptainer/evalscope_v1.0.1-ctyun.sif
apptainer exec $EVALSCOPE_IMG \
evalscope perf \
--url $URL \
--model $MODEL_NAME \
--parallel "$PARALLEL" \
--number "$NUMBER" \
--api openai \
--dataset speed_benchmark \
--dataset-input-length "$INPUT_TOKENS" \
--min-tokens "$OUTPUT_TOKENS" \
--max-tokens "$OUTPUT_TOKENS" \
--connect-timeout 6000 \
--read-timeout 60003.2 核心参数详解
| 参数名 | 描述 | 示例值 |
|---|---|---|
| --url | 模型服务API端点,需包含协议、IP、端口和路径 | http://127.0.0.1:11025/v1/completions |
| --model | 模型标识(需与服务端返回的 model字段一致) | DeepSeek-V4 |
| --parallel | 并发数,模拟同时发起的请求量 | 1 |
| --number | 一般可设置为并发数的整数倍,默认1000 | 5 |
| --dataset-input-length | 输入token长度 | 1024 |
| --min-tokens | 单请求最小输出token长度 | 1024 |
| --max-tokens | 单请求最大输出token长度 | 1024 |
--min-tokens与--max-tokens设置相同值时,即可指定输出token长度。
四、结果分析
4.1 关键指标解读
Speed(输出速率):多并发场景下单个用户的输出速率(tokens/s),反映服务输出吞吐能力,越高表明性能越优。
Succeed requests(成功请求数):服务成功回复的请求次数,理想值与总请求次数(Total requests)相等,低于总请求次数需排查问题。
Average input tokens per request(输入token长度):每个请求平均输入token长度,与设定的dataset-input-length一致。
Average output tokens per request(输出token长度):每个请求平均输出token长度,与设定的输出token长度关系(min-tokens <= Average output tokens per request <= max-tokens)。
五、附录
天翼云 HCC 产品文档:弹性高性能计算-产品文档-帮助中心 - 天翼云
EvalScope官方文档:https://evalscope.readthedocs.io/zh-cn/latest/index.html