
部署完模型、请求也能正常返回之后,真正困难的问题是:它到底有多快?用 curl 命令、手写 asyncio 脚本或临时生成的压测工具,往往会遇到同一个障碍——单进程性能上限、Python 的全局解释器锁限制并发,或者结果只能与自建的参考实现对比,难以令人信服。
NVIDIA AIPerf 是 GenAI-Perf 的指定继任者,也是一次彻底重写:它不再运行在 Perf Analyzer 之上,而是采用多进程架构,由工作进程产生负载、独立的记录处理服务汇总结果,各组件通过 ZMQ 协调。这样做的直接目的,是防止压测客户端在高并发下先成为瓶颈,从而让测得的数字更接近服务端真实能力。
在负载覆盖面上,AIPerf 支持 15 种以上端点类型,包括聊天、responses、NIM 排序、图像生成等,并可读取 ShareGPT 等公开数据集,以及 Mooncake、Baseten、WEKA(AgentX)等来源的 trace 回放格式。无论是快速合成冒烟测试,还是重放采集到的生产流量,都不需要再换一套工具。
负载形态也可以控制:AIPerf 支持恒定、泊松和伽马到达分布,并可调节突发性,支持并发数与请求速率的渐变爬坡,还能用 vLLM/SGLang 的 range-ratio 分布生成变长输入输出。工程师因此可以复现生产流量的"形状",而不只是调整总量。
结果侧,AIPerf 报告首 token 延迟(TTFT)、token 间延迟(ITL)、请求端到端延迟和输出 token 吞吐四项核心指标,并给出 p25 到 p99 的分位数、最小值、最大值、均值与标准差。若环境中可用 DCGM 或 pynvml,还会把 GPU 功耗、利用率和显存占用写入同一份结果,便于把延迟尖峰与显存压力对应起来。
上手方式较为直接:通过 uv pip install aiperf 安装,先用 vLLM 启动一个小模型(官方示例为 Qwen3-0.6B),再运行 aiperf profile 命令。示例先以固定 128 输入/128 输出 token 建立静态基线,再改用泊松到达、每秒 10 个请求、变长输入输出的动态场景。需要注意,在 aarch64 平台上 crick 依赖以源码形式分发,需要预装 C 工具链。
WeChat
Profile