4. 性能调优指标体系
在Intel边缘平台上做性能调优,第一步不是改参数,而是把“好与坏”变成可测量、可比较的数字。边缘场景与数据中心最大的区别在于:算力、内存、功耗、散热和网络带宽都被严格约束,且业务往往要求确定性时延。因此,指标体系必须同时覆盖“能力上限”和“确定性”两个维度。本章围绕吞吐量、时延、功耗、资源利用率与QoS五类指标,说明各自的测量方法、常用基准工具,以及如何把测量结果转化为调优判断依据。
一、五类指标的定义与相互关系
吞吐量(Throughput)指单位时间内成功完成的任务量,常见单位有FPS、 inferences/s、MB/s、req/s。它衡量“能处理多少”,但必须与成功率、时延上限一起看,否则高吞吐可能来自丢弃或超时。时延(Latency)指从输入到输出完成的时间,边缘场景更关注P99/P99.9而非平均值,因为尾时延决定业务是否可用。功耗(Power)通常用整机或SoC功耗(W)表示,边缘设备还要关注能效比,即每瓦吞吐量(FPS/W、inferences/J)。资源利用率(Utilization)包括CPU、GPU/NPU、内存带宽、I/O与加速器占用率,用于判断瓶颈位置。QoS(服务质量)是前四者的约束集合,例如“P99时延≤50ms且丢帧率≤0.1%”,它把性能目标变成可验收的合同。
五类指标并非独立:提高吞吐常以增加时延和功耗为代价;提高利用率可能压缩时延余量;QoS则是这些权衡的边界条件。调优的本质,是在QoS约束下寻找吞吐、时延、功耗与利用率的最佳平衡点。
二、吞吐量的测量方法与工具
吞吐量测量必须固定负载模型,否则数字不可比。以视觉推理为例,常用OpenVINO的benchmark_app,关键参数包括模型路径、设备(CPU/GPU/NPU)、批大小(-b)、推理请求数(-nireq)、流数(-nstreams)和持续时间(-t)。示例命令如下:
benchmark_app -m yolov8n.xml -d GPU -b 1 -nireq 4 -nstreams 2 -t 30
# 输出关注:Throughput (FPS)、Latency (ms)、Total inference time
网络吞吐用iperf3测量,例如服务端执行iperf3 -s,客户端执行iperf3 -c 192.168.1.10 -t 30 -P 4,观察SUM行的sender/receiver带宽。Web服务用wrk:wrk -t4 -c100 -d30s --latency http://target/api,其中-t为线程数、-c为连接数、-d为持续时间。判断吞吐是否达标,不能只看峰值,要看在QoS时延约束下的稳定吞吐,通常取多次运行的中位数。
三、时延的测量与尾时延分析
时延测量要区分“单次推理时延”和“端到端时延”。单次推理时延可由benchmark_app的Latency字段获得;端到端时延需要在应用层打时间戳,例如在视频帧进入和结果输出处记录clock_gettime(CLOCK_MONOTONIC),两者相减。实时性场景常用cyclictest测量调度抖动:cyclictest -t1 -p80 -n -i1000 -l10000,关注Max Latency是否超过阈值。
尾时延分析必须看分布而非均值。假设采集10000帧,平均时延18ms,但P99为62ms,说明有1%的帧超过QoS的50ms。此时应检查是否存在批处理过大、内存拷贝、GPU频率降频或CPU抢占。调优方向包括:减小批大小、启用异步推理、绑定CPU亲和性、关闭不必要的后台服务。
四、功耗与能效比测量
Intel平台可用turbostat读取Package功耗与频率:sudo turbostat --interval 1 --show PkgWatt,CPU%c1,CPU%c3,Busy%。若平台支持RAPL,可读取/sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj,两次采样差值除以时间得到平均功耗。能效比用吞吐除以功耗计算,例如30 FPS / 12W = 2.5 FPS/W。调优时若提高频率使吞吐从30升到36 FPS,但功耗从12W升到18W,能效比反而从2.5降到2.0,说明该调整在功耗约束下不划算。
五、资源利用率与瓶颈定位
资源利用率用于回答“瓶颈在哪里”。CPU用top -H或perf top观察热点函数;GPU用intel_gpu_top查看Render/Video/Blitter引擎占用;NPU可通过OpenVINO的--exec_graph_path导出执行图,结合设备利用率判断。内存带宽用pcm-memory或MLC测量。典型判断:若CPU利用率90%而GPU仅30%,瓶颈在CPU预处理;若GPU利用率95%且时延上升,瓶颈在GPU算力或显存带宽。
六、QoS约束下的调优判断
把上述指标组织成一次可复现的基准测试,建议按以下顺序执行:先固定QoS目标(如P99≤50ms、丢帧≤0.1%、功耗≤15W),再逐步调整批大小、流数、线程亲和性和频率策略,每轮记录吞吐、P99、功耗和利用率。判断规则是:任何调整若使QoS任一项不达标,即回退;在全部达标的前提下,选择吞吐最高或能效比最高的配置。这样,指标体系才真正成为调优的决策依据,而不是事后汇报的数字。