故障演练总演同一套拔线流程,队伍熟练了但新故障类型没覆盖。演练题库把历史故障转化成十个演练场景,每季度随机抽三个实弹演练,演练结果记分归档,未通过的题目限期复练,题库随新故障持续扩充。
题库每条记录场景名与合格线耗时,随机抽三题保证每次演练的组合不重复,抽中的题目从池中移除防止同场重复。
local DRILLS = {
{ id = "D01", name = "网关单点故障", passSec = 600 },
{ id = "D02", name = "数据库主从切换", passSec = 600 },
{ id = "D03", name = "支付回调重放", passSec = 300 },
{ id = "D04", name = "跨服节点失联", passSec = 600 },
}
local function pickDrills()
local pool, picked = {}, {}
for _, d in ipairs(DRILLS) do pool[#pool + 1] = d end
for i = 1, 3 do
local idx = math.random(#pool)
picked[i] = table.remove(pool, idx)
end
return picked
end
演练耗时低于合格线判通过,结果按题号写入系统变量归档,未通过项两周内复练,报告邮件同步给运维与经理。
local function scoreDrill(drill, costSec)
local pass = costSec <= drill.passSec
setsysvarex("DRILL_" .. drill.id, pass and 1 or 0, 1)
sendmail("#运维老张", 938, "季度演练结果",
drill.name .. (pass and " 通过," or " 未通过,") .. "耗时 " .. costSec .. " 秒", "")
end
随机抽题验证同一次演练内不重复、跨季度覆盖不偏向同类;计分与合格线逐题核对;未通过项的复练提醒两周内送达。演练题库的每道题标注了首次来源事故,演练时先回顾当时的事故背景再动手,针对性更强。抽题结果提前一天公示,被抽中的处置责任人可以提前准备,演练不再打无准备之仗。监控题库的覆盖分布与历年故障类型的对应关系,真实高频故障在题库里必须有对应场景。
题库十道题里有四道是同一种故障的变体,演练覆盖面虚高,题库按故障根因去重后收敛到六道核心场景。随机抽取没有排除上季度刚演过的题,同一题连续两季出现被质疑走过场,抽题排除最近一季已测项。演练计分只记通过与否,耗时数据丢失让合格线无从校准,归档增加耗时明细字段。新故障复盘后没有及时转成演练题,同类故障三个月后重演,复盘流程增加一条产出演练题的固定输出。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 周五晚高峰副本掉线事故:三百支队伍的成员在副本里掉线后无法重连,只能等副本超时踢出,客服工单一夜积压九百…
实战应用:用在哪里 行会活动集中在晚上八点的攻城战,白天在线的成员没有参与感。行会运镖做成轻协作玩法:行会每周两趟集体运镖,…
实战应用:用在哪里 沙巴克城主每周可以打出两张政策牌影响全服:双倍经验日让全场经验翻倍、怪物狂暴日让野怪攻击提升三成、和平协…
实战应用:用在哪里 故障演练总演同一套拔线流程,队伍熟练了但新故障类型没覆盖。演练题库把历史故障转化成十个演练场景,每季度随…
实战应用:用在哪里 排行榜界面打开时开启定时刷新、关闭时忘了停,玩家关了界面推送还在后台跑。界面生命周期把打开、刷新、销毁三…
实战应用:用在哪里 沃玛教主被击杀后四小时原地重生,重生前一分钟全服预告,教主重生点位在窝点周围五格内随机偏移,蹲点守尸的策…