鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

性能测试方法

使用“vllm/benchmarks/benchmark_serving.py”文件进行吞吐量性能测试。

性能测试方法示例

  1. 在任意路径启动vLLM服务,如果需要添加优化请在启动服务前添加。
    vllm serve /home/models/DeepSeek-R1-Distill-Llama-70B/ --tensor_parallel_size=8
  2. 进入benchmark_serving.py测试文件所在路径“vllm/benchmarks/”
  3. 执行以下命令进行性能测试。命令参数说明如表1所示。
    pip install datasets pandas
    python benchmark_serving.py --model /home/models/DeepSeek-R1-Distill-Llama-70B/  --dataset_name random --random-input-len 2048 --random-output-len 2048 --trust-remote-code --ignore-eos --num-prompts 1 --request_rate 1
    表1 性能测试命令参数说明

    参数

    说明

    --model /home/models/DeepSeek-R1-Distill-Llama-70B/

    模型路径。

    --dataset_name random

    选择随机数据集。

    --random-input-len 2048

    输入token长度为2048。

    --random-output-len 2048

    输出token长度为2048。

    --ignore-eos

    忽略终止符,即输出到指定输出长度才停止。

    --num-prompts 1

    执行测试时发送的prompt数量为1。

    --request_rate 1

    执行测试时发送请求的速率为1。

    测试输出结果类似下图,指标含义如表2所示。可主要通过TPOT(去除首token的耗时)进行优化前后的性能比较。

    表2 测试输出结果指标说明

    指标

    说明

    Successful requests

    成功完成的请求数量

    Benchmark duration (s)

    基准测试持续的时间

    Total input tokens

    总输入token数,即所有请求中的输入token总数

    Total generated tokens

    总生成的token数,即所有请求生成的输出token总数

    Request throughput (req/s)

    请求吞吐量,表示每秒钟可以处理的请求数

    Output token throughput (tok/s)

    输出token吞吐量,指的是每秒钟生成的输出token数量

    Total Token throughput (tok/s)

    总token吞吐量(包括输入和输出),指的是每秒钟处理的总token数

    Time to First Token

    首个令牌生成时间,从请求发出到收到第一个输出token所需的时间

    Time per Output Token (excl. 1st token)

    每个输出token生成时间(不包括第一个令牌)

    Inter-token Latency

    连续两个token之间的延迟