# Online API Server Benchmark Scripts

vLLM 0.11.0 在线评测测试的代码/脚本管理

## 更新日志

2026/01/27：启动方式改用vllm serve/vllm bench指令；新增FP8精度支持（by 刘煦）

2026/01/27：新增vllm0.11.0在线测试的自动化测试脚本，使用相关的环境变量；新增单并发吞吐指标记录（by 刘煦）

## 使用方法

1. 需要安装jq和netcat
```
    apt-get install jq
    apt-get install netcat
```

2. 文件说明：

    1）auto_quick_check_config.json：配置文件

    2）online_quick_check_maxbs.sh：自动化启动脚本

    3）run_apiserver.sh：运行服务的脚本

```
# 配置文件说明 auto_quick_check_config.json
{
    "DCU": "BW1000",                                        # DCU型号
    "vllm_version": "0.11.0",                               # vllm版本号   
    "pkg_version": "dtk25.04.2",                            # DTK版本号
    "dst_path": "./result/",                                # 结果/日志存放目录
    "items":[
        {
            "model_name": "Qwen3-32B",                      # 模型名称
            "model_path": "/data/models/Qwen3-32B/",        # 模型路径
            "dtype": "float16",                             # 数据类型，可选范围：float16/bfloat16/gptq-int8/gptq-int4/float8/w8a8/awq
            "tensor_parallel": [4],                         # 使用卡数
            "batch_size_start": 4,                          # 起始并发数
            "batch_size_interval": 4,                       # 并发数增加间隔
            "seqlen_tuple": ["512 512", "1024 1024"],       # 输入输出序列组合
            "ttft_thres": [3000, 3000],                     # ttft阈值，单位毫秒（"inf"表示无限制）
            "tpot_thres": [100, "inf"]                      # tpot阈值，单位毫秒（"inf"表示无限制）
        }
    ]
}

注：
1. 【输入输出序列组合】、【ttft阈值】、【tpot阈值】是一一对应的关系，数量需要确保一致
2. 【ttft阈值】、【tpot阈值】不可均设置成"inf"
```

3. 运行及逻辑：

    指令：bash online_quick_check_maxbs.sh

    逻辑：调用run_apiserver.sh启动服务 -> 监听端口是否启动 -> 启动后运行评测指令评测 -> 汇总数据

    最大并发数测试逻辑：从batch_size_start开始测试，并且逐步增加batch_size_interval，直到某一个并发数的ttft/tpot超过了设置的阈值停止测试；从output.csv中可以获取最大并发数
