游戏循环
每一夜 SysAdmin Crisis 背后三十到九十秒的循环:观察、诊断、行动、确认。了解直到日出都在重复的四个动作。
最后更新:
每一夜都是同样的四个动作,重复到日出。学会这款游戏,是学会把它们做得更快,而不是学更多的动作。
观察
日志滚动,仪表条起伏。看到的大部分内容都是正常的:承受负载的服务器群会产生流量日志行,cron 任务启动又结束,延迟上下波动。这里训练的技能,是注意到那一行不合群的内容——没有哪个客户端会产生的请求速率、只增不减的常驻内存集、不再回落的温度。
诊断
症状很少就是原因,游戏正是围绕这道落差设计的。CPU 饱和,可能是外部涌入的洪水,可能是本地失控的进程,也可能是机器因过热而降频。
诊断命令免费且即时——确认无须付出代价。status 一眼给出服务器群全貌,top 点出进程,netstat 显示谁在连接,df 显示磁盘,db_stat 显示锁。
行动
修复手段是一条命令。语法是游戏化的 Unix:命令名是真实的,常见选项可用,且命令名在每种语言中都保持英文,因为终端就是英文的。输入不存在的内容会得到 bash: xyz: command not found;如果游戏能猜出本意,会直接说明——did you mean: block_ip?
确认
指标恢复,机器回到 OK,日志中出现一行解决记录。这一确认很重要:事件是在世界说它解决了的时候才算解决,而不是输入了某个看似合理的命令的时候。有些事件接受不止一种解决方式,而不完整的修复可以以更差的代价把它们关闭。
宏观循环
在这个三十到九十秒的周期之外,是班次本身:事件按随夜晚推进而加快的节奏被注入,若干个可以重叠,压力层层叠加。该调度的运作方式,参见事件总览。