什么是调度调参方法论
调度与内核参数的调优失败,多数不是因为参数选错,而是缺少可对比的基线:同时改多个参数、压测流量不具代表性、只看平均值不看尾延迟,都会让结论失去意义。可靠的做法是固定的四步——先留存参数与指标基线,再单变量修改,用代表性压测采集同样的指标,最后对比决定固化还是回退。
基本信息
| 步骤 1 | 留存 baseline:sysctl 快照 + 内核版本 |
|---|---|
| 步骤 2 | 单变量修改,一次只动一项 |
| 步骤 3 | 代表性压测,采集同一组指标 |
| 步骤 4 | 对比结论:固化到配置管理或回退 |
| 必备输入 | 业务峰值特征、SLO 目标、回滚方式 |
| 记录载体 | 变更单里附参数差异与指标对比 |
典型使用场景
- 网络参数调优:从基线到结论形成可复核的证据链
- 性能问题复盘:判断某次调参到底有没有效果
- 容量规划:用基线数据推算资源需求
- 跨机器一致性核对:避免同角色机器参数不一致
- 变更评审:把参数差异与压测结果一起提交给评审人
基线快照
基线快照
sysctl -a 2>/dev/null | grep -E '^(kernel|vm|net)\.' > /tmp/sysctl-baseline-$(date +%F).txt
uname -r >> /tmp/sysctl-baseline-$(date +%F).txt
lscpu | head -20 >> /tmp/sysctl-baseline-$(date +%F).txt
# 采集指标基线(示例)
sar -u 1 5 > /tmp/sar-baseline-$(date +%F).txt
ss -s > /tmp/ss-baseline-$(date +%F).txt
# 变更后重复采集并 diff:
diff /tmp/sysctl-baseline-2026-10-13.txt /tmp/sysctl-baseline-2026-10-14.txt调参常见错误
| 错误做法 | 后果 | 正确做法 |
|---|---|---|
| 一次改多个参数 | 无法归因是谁起作用 | 单变量修改并记录 |
| 没有基线 | 没有对比对象 | 变更前留存参数与指标 |
| 压测流量不具代表性 | 结论无法迁移到生产 | 按真实峰值特征设计 |
| 只看平均值 | 尾延迟恶化被掩盖 | 同时看 P95/P99 与错误率 |
参数修改要落到配置管理或持久化文件里,仅用 sysctl -w 临时改动的结果会在重启后消失,容易让下一次排查基于错误的前提。
不同内核版本的默认值存在差异,把一台机器的调参结果直接复制到另一版本上是常见的翻车场景;复制前先核对版本与默认值。