为基准测试调校一台服务器
来源: david.alvarezrosa.com — 2026-09-25
概述
作者用一个小基准一步步调校机器,每次都重新测量,直到结果可复现——因为 2% 的改进在 5% 的噪声下毫无意义。基线是带 2 毫秒空闲间隔的数组求和,变异系数接近 3%。他先用 lstopo 看清硬件拓扑(笔记本是混合核心,服务器是均匀八核),再把基准绑定到单个核心,均值降到 55.3 微秒、变异系数降到 1.06%。他特别强调:为基准调优与为性能调优不同,前者要可复现,哪怕牺牲一点峰值速度。
核心要点
- 测量只有在可复现时才有用,2% 的改进在 5% 的噪声下不可见。
- 基准模拟真实服务:连续跑一阵求和后空闲 2 毫秒,空闲时间不计入测量。
- 用 lstopo 看清核心类型、缓存与 PCIe 拓扑,异构机器上落在哪个核心会改变测量结果。
- 把基准绑到单个核心后,均值降到 55.3 微秒,变异系数从 2.72% 降到 1.06%。
- 绑核之外还应锁定 CPU 频率,繁忙机器可用 isolcpus 或 cpuset 专门保留核心。
- 为基准调优与为性能调优目标不同:前者要可复现,后者要极致的速度。
金句
优化代码始于测量,而测量只有在可复现时才有意义。
👍 0
👎 0
← 返回 Lobsters 首页