3. 性能基准基础

在金融推理系统中,性能基准不是一组孤立的数字,而是一套彼此约束、相互换算的指标体系。延迟回答“单笔请求多久返回”,吞吐量回答“单位时间能处理多少笔”,并发度回答“系统同时承载多少请求”,资源利用率回答“这些能力消耗了多少硬件成本”。四者共同构成性能画像,任何只盯一个指标的做法都会导致误判。

一、核心指标的定义与内在关系

延迟(Latency)指从请求发出到收到完整响应所经历的时间,通常以毫秒或秒计。金融场景中必须区分端到端延迟、服务端处理延迟、首字节延迟(TTFB)与尾延迟(P95/P99)。均值延迟会掩盖长尾问题,而风控、行情、交易类业务恰恰对尾延迟最敏感。

吞吐量(Throughput)指单位时间内成功完成的请求数,常用 QPS、TPS 或 samples/s 表示。吞吐量必须在给定延迟约束下才有意义,脱离 SLO 的峰值吞吐是无效指标。

并发度(Concurrency)指系统在某一时刻同时处于处理中的请求数量。它与吞吐量、延迟满足利特尔法则:并发度 ≈ 吞吐量 × 平均延迟。这条公式是容量估算与压测设计的基石。

资源利用率(Utilization)指 CPU、GPU、显存、内存、网络、磁盘等资源被占用的比例。利用率过低意味着成本浪费,过高则意味着排队风险,通常 GPU 利用率在 70%~85% 区间较为健康。

金融推理性能四维指标关系 延迟 Latency P50 / P95 / P99 TTFB · 端到端 吞吐量 Throughput QPS / TPS samples/s 并发度 Concurrency 在途请求数 batch · worker 资源利用率 CPU / GPU / 显存 内存 / 网络 / 磁盘 利特尔法则:并发度 ≈ 吞吐量 × 平均延迟 四维指标相互约束,单点优化必然引发其他维度变化

二、度量方法与工具链

度量延迟必须使用高精度时钟并区分阶段。推荐在服务端埋点记录入队、预处理、模型推理、后处理、返回五个时间戳,从而定位瓶颈阶段。压测工具方面,wrk、Locust、JMeter 适合 HTTP 层,vLLM benchmark、Triton perf_analyzer 适合推理服务层。

# 使用 wrk 测量延迟分布(P50/P90/P99)
wrk -t8 -c64 -d60s --latency http://localhost:8000/v1/infer

# 输出示例
Latency Distribution
  50%   42.31ms
  90%   88.75ms
  99%  210.44ms
Requests/sec:  1523.67
Transfer/sec:  12.45MB

吞吐量度量需固定并发与输入长度,否则不同批次不可比。资源利用率可通过 nvidia-smi、dcgm-exporter、Prometheus + Grafana 采集,重点关注 GPU 利用率、显存占用、SM 活跃度与显存带宽。

# 采集 GPU 利用率与显存
nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total \
           --format=csv -l 1

三、典型场景:风控实时推理基准

某风控模型要求 P99 延迟低于 150ms、吞吐量不低于 800 QPS。压测发现 P99 达 320ms,但 GPU 利用率仅 45%。分析后确认瓶颈在预处理阶段的特征拼接,而非模型推理。将特征拼接改为异步流水线后,P99 降至 118ms,吞吐量提升至 1050 QPS,GPU 利用率升至 72%。这说明资源利用率偏低往往指向非 GPU 瓶颈。

指标定义度量工具金融场景目标
延迟 P50中位响应时间wrk / 埋点< 50ms
延迟 P99尾部响应时间wrk --latency< 150ms
吞吐量单位时间完成请求数Locust / perf_analyzer> 800 QPS
并发度在途请求数服务端计数器按利特尔法则推算
GPU 利用率GPU 计算占用比例nvidia-smi / DCGM70%~85%
显存占用已用显存 / 总显存nvidia-smi< 90%

四、常见误区与复盘

  • 只看均值延迟:均值 40ms 可能掩盖 P99 的 500ms,金融业务必须看分位数。
  • 脱离延迟谈吞吐:无限提高并发虽能推高 QPS,但延迟会急剧恶化,需在 SLO 约束下取最优点。
  • 忽略并发度换算:用 64 并发压出 1500 QPS,不代表 128 并发能到 3000 QPS,系统存在饱和点。
  • 资源利用率越高越好:GPU 利用率长期 95% 以上意味着排队严重,尾延迟不可控。
  • 压测环境与生产不一致:输入长度、batch 策略、特征维度不同会导致基准失效。
压测前必须固定输入分布、batch 大小、并发模型与硬件配置,否则指标不可复现,基准失去意义。
建议每次基准测试同时记录延迟分位数、吞吐量、并发度与资源利用率四组数据,形成可对比的性能快照,便于回归分析。

掌握四维指标的定义、换算与度量方法,是后续使用 Profiler 定位瓶颈、优化推理性能的前提。只有建立可复现、可对比的基准,性能优化才有可靠的判断依据。