首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >告警响了,为什么我先不动会话

告警响了,为什么我先不动会话

原创
作者头像
满小满
发布于 2026-11-10 11:06:39
发布于 2026-11-10 11:06:39
100
举报

连接数 92%,我先没动会话。

不是沉得住气,是算过代价:清会话看起来最快,但可能把跑批打断;重启节点更重;调小非核心应用的连接池,是那晚代价较小的动作。文中的时间、数字和处理过程,是示例环境下的脱敏教学设定。

我知道这句话听起来像“不作为”。但值班时,“不动”也是一个决定,而且是更难解释的那个。你得知道自己为什么不动,准备观察到什么时候,什么条件下改主意。

一、现场:十分钟,三个动作

某个周二凌晨一点多,手机在枕头边震。监控上,一个库的连接数使用率到了 92%。

群里有人问:“小满,多久能好?”

我坐在键盘前,十分钟没动。脑子里有三个动作:清空闲会话、调小应用连接池、重启一个节点。每个都像有用,每个都有代价。

师父回了一句:“先确认影响面,别急着动。”

为什么“先不动”不是拖

动手有反馈,不动没有。你坐在那里看监控,群里看不到进度,很容易被理解成拖。

我那十分钟也心虚。手放在键盘上,又收回来。怕的不是连接数,是第二天业务说“昨天的数没出来”。也怕别人觉得我不处理。

后来我给自己定了一个说法:不动可以,但要说出在等什么、等到什么时候。说不出来,就不是观察,是躲。

二、前后对比:直觉动作和那晚动作

维度

直觉动作

那晚动作

先做什么

先把连接数降下来

先确认业务影响面

对会话

批量清空闲会话

先看会话在干什么

对跑批

没算窗口够不够

确认窗口还剩四十分钟

选的动作

清会话或重启

调小两个非核心应用连接池

结果

可能中断跑批

一点四十左右跑批结束,连接数自己降

这张表不是标准答案,只是把“手快”和“先看”的差别摆出来。

表里最容易被忽略的是“对跑批”那一行。连接数高的时候,人眼里只有连接数;但跑批窗口是有限的,断了不一定补得回来。这个代价不在监控上,得自己去问。

三、判断框架:四个问题

  1. 这个库现在还有哪些业务在用?
  2. 跑批是不是还在窗口里?现在停了,能不能补?
  3. 如果我清会话,业务会重试,还是直接报错?
  4. 有没有比清会话更小的动作?

前两个回答“能不能等”,后两个回答“动了以后谁承担”。

我查了会话状态。有一部分连接来自跑批任务,里面有几个 idle in transaction。说人话:事务开着,但当前没有语句在跑。它占着连接,却不能当普通空闲连接直接清掉。

跑批主进程还在往前走,不是彻底卡死;业务查询也还在进来,只是变慢了。连接数高,但 CPU 没有打满,磁盘也没有持续高 IO,超时集中在少数几个查询上。

系统是紧,但还没到非动手不可的程度。

这里有个容易混的地方:连接数高,可能是业务真的多,也可能是连接被占着不用,还可能是上限偏小。三种情况动作不一样。先分清是哪一种,再谈清不清会话。

四、动作:把资源往更重要的地方挪

我没有清会话,先把两个非核心应用的连接池临时调小,给跑批让路。然后把连接数、业务超时、跑批进度放在一个屏幕上盯着。

这个动作不漂亮,也不像“故障处理”。它只是把资源往更重要的地方挪了一点。

我没有把它当成“解决办法”,只当成“把时间买回来”。跑批结束前,我要的是不再恶化,不是立刻恢复到平时。这个区别,让我没那么急着做更大的动作。

一点四十左右,跑批结束,连接数自己降下来。业务没有大面积超时,群里也安静了。

如果我当时手快,批量清掉会话,跑批会中断。那个窗口只剩四十分钟,重跑不一定来得及。第二天业务看到的,不是“连接数降了”,是“昨天的数没出来”。

五、沟通:给时间点,不给空承诺

我一开始不敢回。怕说少了显得不负责,说多了又做不到。

后来我学会这样说:

“现在连接数 92%,跑批还在窗口里,我先不动会话;给我二十分钟观察,二十分钟后如果还降不下来,我再做限流。”

这句话说清了三件事:现在什么情况、我准备做什么、什么时候再同步。

给时间点也有讲究。不要给“马上”,也不要给一个自己做不到的承诺。二十分钟是我当时敢给的范围:够看一轮监控,也够群里的人安排别的事。

值班时,问题难不难是一回事;所有人都不知道你在等什么,是另一回事。

六、事后:三行复盘和三件补的事

  • 先看影响面:哪些业务、哪个窗口、停了能不能补;
  • 再想最小动作:有没有不清会话、不重启、不切主的做法;
  • 留一条时间线:几点几分看到了什么,做了什么,什么时候恢复。

这三行后来变成了我的值班卡,放在交接本开头。

事后我还补了三件事:告警分级写清楚,连接数到 90% 先看是不是在跑批窗口,95% 以上而且业务已经超时再升级;每个月挑一个不重要的环境,把“怎么退”练一遍;值班卡上加上“关键联系人”和“三个最小动作”。

值班卡上我还加了一行“这一班最不确定什么”,交班时让下一个人知道哪里还没确认。

七、如果只做一件

如果你第一次独立值班,只做一件,我会先写“我现在不确定什么”。

是影响面不确定,还是回滚不确定,还是没人可问。写下来,逐项去确认,比在键盘前反复点开又关掉强。

确认不了的那一项,就是你要守的地方:要么找人问,要么先不动。

八、这次没做好的地方

那十分钟里,我一直在想“我是不是显得很没用”,而不是“我现在该确认什么”。这件事后来我没完全改掉,只是现在会先把它写下来,再决定动不动。

还没想通的一点

我到现在也没完全想通:为什么值班的人总想立刻做点什么。

可能是群里那句“多久能好”太急,可能是我们总觉得不动手就不算处理。但有些时候,最好的动作,是先看清楚,再动最小的那一下。

你第一次独立值班,卡在哪一步?是不知道该问谁,还是不敢停?评论区说说。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、现场:十分钟,三个动作
  • 为什么“先不动”不是拖
  • 二、前后对比:直觉动作和那晚动作
  • 三、判断框架:四个问题
  • 四、动作:把资源往更重要的地方挪
  • 五、沟通:给时间点,不给空承诺
  • 六、事后:三行复盘和三件补的事
  • 七、如果只做一件
  • 八、这次没做好的地方
  • 还没想通的一点
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档