体育平台的数据库平时安静,一出事就是大事:赛事报名当晚写满磁盘、结算跑批把慢查询堆满、备份悄悄失败了三周没人知道。日常检查的意义,是把这三类问题在爆发前抓出来,而且检查动作要轻,不给数据库增加负担,每天几分钟就能完成。
下面按空间、慢查询、备份三块给出 SQL 级的检查口径和告警阈值,云平台运维可以直接抄进日常巡检脚本。
一、空间检查:三个口径一起看
- 表空间使用率:超过 75% 预警,超过 85% 告警,处置动作是归档历史数据或扩容;
- 表空间月增速:结合业务量判断,赛事季增速翻倍属正常,平日突然加速要查是否有异常写入;
- 临时表空间:批量跑批后未释放说明有大排序或大查询,长期占用要查 SQL。
检查语句很简单,查表空间使用率和近 30 天的增长量即可,重点是把结果做成趋势曲线,单点数值意义有限,曲线拐点才是信号。
二、慢查询:占比比绝对值重要
慢查询日志要开着,阈值取 200 毫秒,赛事高峰可放宽到 500 毫秒。告警口径看占比:慢查询占总请求比例超过 1% 预警,超过 5% 告警。处理顺序是先看 TOP 5 慢 SQL 的执行计划,常见问题是缺索引、隐式类型转换、分页偏移过大。分页查询给一个实用的改法:游标分页替代偏移分页,页深超过 100 时性能差距可以到十倍以上。慢查询要按天归档,方便赛后复盘。
三、备份:成功只是底线,可恢复才是目标
备份检查看三项:备份任务成功率、备份文件大小波动、最近一次恢复演练时间。成功率低于 100% 直接告警,备份文件比前次缩小超过 30% 也要查,很可能是备份范围配置错了。备份保留策略参考:全量每周、增量每日、保留 30 天,赛事结算日的备份额外留存 90 天。最重要的一条:每季度做一次恢复演练,从备份文件恢复到测试环境并抽样校验数据,没做过恢复演练的备份等于没有备份。
四、联动排查:锁等待与主从延迟
高峰期卡顿的排查顺序:先看锁等待,再看主从延迟,最后看慢查询。锁等待超过 10 秒的会话列出来,优先杀掉长事务;主从延迟超过 1 秒,读写分离的应用要考虑临时走主库。这三个指标接进告警系统,配合业务侧的响应时间监控,能在用户投诉前发现问题。
五、给云平台运维的三条建议
- 把空间、慢查询、备份三项做成每日定时检查脚本,结果推送到运维群,异常自动派单;
- 告警阈值按赛事季和日常两档配置,赛事季放宽响应、收紧监控,不要一刀切;
- 恢复演练每季度一次并留档,演练报告作为运维台账的一部分归档备查。