网站慢到 30 秒,我让 OpenClaw 按 ITIL 流程修了一次生产环境
ITIL先锋论坛
2026年04月16日 12:07

做运维的人都知道,最怕的不是活多,而是线上系统“看起来还能用,但其实已经快不行了”。

彻底宕机反而好判断,报警一响,该拉群拉群,该抢修抢修。真正折磨人的,是用户说“怎么这么慢”,你一看页面还能打开,状态码也没完全异常,但整个系统已经在悬崖边上晃了。这种时候,最容易发生两种事:要么急了,直接上手改;要么犹豫了,反复看日志却迟迟不敢动。前者容易把问题扩大,后者容易把用户耗没耐心。

这次要讲的,就是一个这样的真实场景。生产网站 itil4hub.cn 出了性能问题,响应时间一度到了 15 到 30 秒。我们没有选择“先改了再说”,而是让 OpenClaw 先按一遍 ITIL 变更管理的思路,把分析、方案、回滚、执行、验证这些事情完整跑下来,最后再由人授权执行。

结果是,整个过程花了 15 分钟,缓存命中场景下响应时间降到 0.6 秒。但比结果更有意思的是,这次实践让我重新确认了一件事:AI 真正有价值的地方,不是替人按命令,而是把很多平时小团队很难坚持下来的流程,真的带着你走一遍。

小团队做 ITIL,难点从来不是“不懂”

很多人一听 ITIL,就觉得这是大厂、银行、甲方总部才配拥有的东西。什么变更申请、变更审批、变更实施、变更验证,听起来都对,但一落到小团队身上,常常就成了“知道很好,做不到”。

原因也不复杂。小微 IT 团队通常就那么几个人,甚至一个人要顶几种角色:部署是你,运维是你,值班是你,一线支持还是你。你让他再严格拆成申请人、审批人、实施人、验证人,最后大概率会变成自己提、自己批、自己做、自己验,流程从一开始就很尴尬。

但问题又来了。小团队难道就不需要变更管理吗?恰恰相反,小团队更怕变更失误。因为人少,一旦线上出事,往往没有第二套班子来兜底。

所以这次实验的核心问题很简单:如果人手拆不开,那能不能让 OpenClaw 在流程里承担“分析者”和“执行者”的角色,把流程跑起来,而不是靠人硬撑。

故障是怎么来的

事情发生在 2026 年4月初的一个上午。

管理员收到一句很典型的话:“itil4hub.cn 不正常,你分析一下。”

这种反馈,运维同学应该都不陌生。用户不会告诉你是数据库慢了,还是容器内存打满了,更不会给你说是 InnoDB 缓冲池配置有问题。他只会告诉你:不对劲,快看看。

OpenClaw 接到任务后,先做了一轮基础检测。结果不算复杂,但挺典型:

网站状态码还在正常区间内;

响应时间已经拖到了 15 到 30 秒;

历史对比大约是 100 毫秒量级。

也就是说,这不是“挂了”,而是“快挂了”。从业务体验上说,30 秒基本就是不可接受;从系统状态上说,它又没有完全躺平,反而更容易让人误判。

OpenClaw 先没急着改,而是开始做变更分析

这一点是我觉得比较关键的地方。

现实里很多线上处理,最容易跳过的就是“分析形成方案”这一步。系统慢了,先重启;数据库慢了,先调参数;缓存有问题,先清目录。动作可能不一定错,但问题在于,整个过程没被组织成一次可控变更。

OpenClaw 这次先做了几件事:检查 SSH 配置、查看 Docker 容器状态、分析 MySQL 参数、对比历史巡检数据。几轮信息收集后,问题慢慢聚焦到了数据库配置上。

最后定位出来的几个关键信号很明确:InnoDB 缓冲池只有 128MB,查询缓存没开,系统可用内存只剩 178MB,容器内存使用已经达到 82%。

这时候它没有直接开改,而是先提出了一份紧急变更请求。说白了,就是把“我要怎么改”正式讲清楚:

影响系统是 itil4hub.cn 生产环境;

变更原因是 MySQL 配置不当导致响应缓慢;

目标是把响应时间降到 5 秒以内;

要做的事包括调大缓冲池、启用查询缓存、清理 XWiki 缓存、优化数据库表;

风险等级中等,有完整回滚方案;

预计耗时 15 到 20 分钟。

这一段放在平时的运维工作里,其实特别重要。因为很多问题不是没人会修,而是修的时候没把方案讲清楚,也没让执行这件事变成一个可以被审核的动作。

真正让我觉得靠谱的,是它先把退路铺好了

如果说前面的诊断和方案让我觉得它“有能力干活”,那回滚计划才让我觉得这事“可以放心让它干”。

生产环境变更最怕的不是效果不好,而是改坏以后没法快速撤回。尤其是小团队,很多时候备份和回滚不是不会做,而是忙起来就容易被省略。

OpenClaw 这次没省。

它先做了配置文件备份、Docker 配置备份、数据库完整备份,还保留了变更前的容器快照。数据库备份文件有 197MB,不是摆样子那种“理论上可回滚”,而是真备了。

同时,它还提前写清楚了什么情况下必须回滚:网站持续出现 5xx、响应时间比优化前还差、MySQL 连接失败或崩溃、内存使用持续异常高位。这些条件一列出来,整个变更就从“试试看”变成了“有边界地执行”。

之后管理员在 09:53 给出确认执行,这一步也不能少。哪怕方案再完整,真正决定要不要动生产的,还是人。

接下来就是执行,但执行不是乱冲

正式进入实施后,OpenClaw 用了大约 5 分钟完成变更动作。

先备份,这是底线。

然后修改 MySQL 参数,把 InnoDB 缓冲池从 128MB 调到 2GB,把查询缓存从关闭改成启用并设置为 64MB。

接着重启 MySQL 容器,确认参数已经生效。

然后清理 XWiki 缓存和临时目录。

最后对关键表做 OPTIMIZE 和 ANALYZE。

整个顺序很像一个有经验的运维同学在做事:先保命,再改动,再验证,再清理,再收尾。它不是只会执行某条命令,而是知道哪些动作必须成套出现。

最后的结果怎么样

从结果看,这次变更是成功的。

自动验证显示,HTTP 状态码恢复为 200;冷启动响应时间是 7.6 秒;缓存命中时是 0.6 秒;MySQL 缓冲池配置已经生效到 2GB;系统可用内存从 178MB 提升到 2.8GB;容器内存占用从 82% 降到 48%。

换句话说,这次不是“勉强救回来”,而是把系统从明显异常的状态拉回到了可以稳定运行的区间。

更重要的是,整个过程没有靠“拍脑袋改配置”。分析有依据,实施有授权,过程有记录,失败有回滚,结果有验证。这才是我觉得这次实践最值得拿出来讲的地方。

这件事到底说明了什么

我自己看下来,最直接的感受是:小团队做不了大团队那种完整分工,但不代表流程就一定做不起来。

OpenClaw 这种工具,最适合补位的恰恰是小团队最缺的那一段能力。不是说它比人聪明,而是它能把分析、文档化、方案整理、执行留痕这些人最容易省略的步骤坚持做完。这样一来,人就能把精力放在真正该由人拍板的部分,比如风险判断和最终授权。

这其实是一种很现实的“AI+人类”协作方式:

AI 不替你承担责任,但可以替你把事情准备得更完整。

人不需要亲手敲每一条命令,但必须保留决定什么时候敲下去的权力。

最后说一句

很多人现在讨论 AI 运维,容易陷入两个极端。一个极端是觉得 AI 什么都能做,另一个极端是觉得 AI 只能聊天写文档。可这次实践给我的感觉是,真正有意思的,不在这两个极端里,而在中间那块真正能落地的区域。

它能分析,能提案,能执行,还知道先备份、先设计回滚、先等人授权。对小微 IT 团队来说,这种能力不是“锦上添花”,而是有机会把原本很难长期坚持的变更管理,变成一套真的能运行的日常方法。

如果未来 AI 运维要往生产走,我觉得方向不是“完全替人做决定”,而是先把这种既有流程感、又有执行力的协作模式做扎实。至少这一次,OpenClaw 交出的答卷,已经不像是“会说”,而是开始有点“会干”的意思了。