4. 疲劳度定义与量化
疲劳度是衡量 On-Call 工程师在连续值班周期内身心负荷累积程度的量化指标。合理的疲劳度定义能够帮助排班系统提前识别高风险值班安排,避免因过度疲劳导致的响应延迟、误判或人为故障。本节将系统阐述疲劳度的核心指标及其量化公式。
4.1 疲劳度核心指标
经过对多家互联网公司 On-Call 实践的数据分析,疲劳度由以下四个核心维度构成:
| 指标名称 | 符号 | 定义 | 单位 | 疲劳权重范围 |
|---|---|---|---|---|
| 连续值班天数 | Dc |
工程师连续处于 On-Call 状态的自然日天数 | 天 | 0.20 ~ 0.35 |
| 夜间值班次数 | Nn |
在统计周期内(通常为 7 天)覆盖 22:00~08:00 时段的值班次数 | 次 | 0.25 ~ 0.40 |
| 值班时长 | Hs |
单次值班或周期内累计值班的小时数 | 小时 | 0.15 ~ 0.25 |
| 响应次数 | Ra |
值班期间实际处理告警或事件的次数 | 次 | 0.10 ~ 0.20 |
指标选择依据:上述四个指标在业界 SRE 团队中具有最高的疲劳解释方差(累计解释度 > 85%)。连续值班天数反映生理节律破坏程度,夜间值班次数影响睡眠质量,值班时长决定持续注意力消耗,响应次数衡量认知负荷强度。
4.2 疲劳度计算公式推导
疲劳度采用加权指数衰减模型,核心思想是:疲劳不仅随指标值线性增长,还会因连续累积产生非线性放大效应。公式推导分为三步:
4.2.1 单指标疲劳分量
每个核心指标先经过归一化处理,再乘以对应的疲劳权重,得到单指标疲劳分量:
F_d = w_d × min(D_c / D_max, 1.0)
F_n = w_n × min(N_n / N_max, 1.0)
F_h = w_h × min(H_s / H_max, 1.0)
F_r = w_r × min(R_a / R_max, 1.0)
其中:
D_max= 7 天(连续值班上限阈值)N_max= 4 次(7 天内夜间值班上限)H_max= 12 小时(单次值班时长上限)R_max= 20 次(单次值班响应次数上限)w_d, w_n, w_h, w_r为对应权重,且w_d + w_n + w_h + w_r = 1.0
4.2.2 累积衰减因子
引入连续值班指数衰减因子,模拟疲劳随连续值班天数的非线性增长:
α = e^(k × (D_c - 1))
其中 k 为衰减系数,默认取 0.15。当 D_c = 1 时,α = 1.0;当 D_c = 7 时,α ≈ 2.46,表示连续值班 7 天时疲劳放大 2.46 倍。
4.2.3 综合疲劳度公式
最终疲劳度 F 的计算公式为:
F = α × (F_d + F_n + F_h + F_r)
其中:
F ∈ [0, 1.0]
α = e^(0.15 × (D_c - 1))
F_d = w_d × min(D_c / 7, 1.0)
F_n = w_n × min(N_n / 4, 1.0)
F_h = w_h × min(H_s / 12, 1.0)
F_r = w_r × min(R_a / 20, 1.0)
疲劳度阈值定义:
- F < 0.30:低疲劳,适合安排值班
- 0.30 ≤ F < 0.55:中等疲劳,需关注
- 0.55 ≤ F < 0.75:高疲劳,建议替换
- F ≥ 0.75:严重疲劳,强制替换
4.3 疲劳度计算流程
下图展示了疲劳度从原始数据采集到最终输出的完整计算流程:
4.4 疲劳度计算示例
假设某工程师当前状态如下:
- 连续值班天数
D_c = 5天 - 7 天内夜间值班次数
N_n = 3次 - 本次值班时长
H_s = 10小时 - 本次响应次数
R_a = 8次 - 权重配置:
w_d=0.30, w_n=0.35, w_h=0.20, w_r=0.15
步骤1:计算单指标疲劳分量
F_d = 0.30 × min(5/7, 1.0) = 0.30 × 0.714 = 0.214
F_n = 0.35 × min(3/4, 1.0) = 0.35 × 0.750 = 0.263
F_h = 0.20 × min(10/12, 1.0) = 0.20 × 0.833 = 0.167
F_r = 0.15 × min(8/20, 1.0) = 0.15 × 0.400 = 0.060
步骤2:计算衰减因子
α = e^(0.15 × (5 - 1)) = e^(0.60) ≈ 1.822
步骤3:计算综合疲劳度
F = 1.822 × (0.214 + 0.263 + 0.167 + 0.060)
F = 1.822 × 0.704 ≈ 1.283
步骤4:截断处理(F 上限为 1.0)
F = min(1.283, 1.0) = 1.0
结论:该工程师疲劳度达到 1.0(严重疲劳),系统应强制替换。
注意:当
F > 1.0 时,表示疲劳已超过最大可承受阈值。实际系统中应对 F 进行截断处理,同时记录超限次数作为长期疲劳追踪的辅助指标。
4.5 权重动态调整策略
不同团队的业务特点不同,疲劳权重可依据历史数据进行动态校准。推荐使用层次分析法(AHP)或熵权法确定初始权重,再通过以下规则进行微调:
| 调整场景 | 调整规则 | 调整幅度 |
|---|---|---|
| 夜间告警密集团队 | 提升 w_n,降低 w_r |
±0.05 |
| 长值班周期团队(12h+) | 提升 w_h,降低 w_d |
±0.05 |
| 高告警量团队(日均 > 50 次) | 提升 w_r,降低 w_n |
±0.05 |
| 轮转周期短(3 天轮换) | 提升 w_d,降低 w_h |
±0.05 |
权重调整后需满足 w_d + w_n + w_h + w_r = 1.0,建议每季度根据值班质量反馈(如响应延迟率、误判率)进行一次权重复盘。