拍脑袋的数据库运维指标

作者: admin 分类: 公众号存档            0 次浏览 发布时间: 2021-08-03 23:56

公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2021-08-03 23:56:42 · 原文链接

这是学习笔记的第 2366篇文章

  

  之前对数据库恢复做了相对全面的整合,为了校验数据恢复质量,我们开启了近半年的数据随机恢复测试,也就是说为了验证数据库的恢复质量和效率,我们会每天从备份机里面随机选取12个数据库实例进行数据恢复测试,如果数据启动失败或者回放binlog失败,则会标记为恢复失败。

  在早期的指标设定中,我们很快达到了从70%改进到了90%,按照这个步调,想达到更高的目标看起来指日可待,比如我拍脑袋指定了一个指标99.9%,但是尴尬的是,以月份为单位,总是会在有那么1个实例恢复失败,但是失败的场景又难以复现,所以一直没有实现这个目标。

  有时候在想到底是为什么,今天突然琢磨了下,原来就是一道很简单的数学题。 

  假设我们每天随机恢复12次,如果允许1次失败,那么需要多少天才能达到99.9%

   假设成功率为S,所以可以很快得到关系:

    12*n/(12*n+1)=S

   得到n=S/(12-12S),我们把S=0.999带入

   得到n=83

这是什么概念,也就意味着我需要在将近3个月以内只能有1次失败,才能保证达到这个指标,目前来看,不是达不到,而是目标最开始就完不成,或者完成的代价极高。 

换种思路,我们可以调整恢复次数,那么每天恢复多少次才能在1个星期后达到99.9%的成功率。

  同理计算可得,每天需要恢复近142次,才能满足这个指标,同样这个指标也是高得离谱,我们按照1个月来计算,每天也需要30次左右才可以。 

所以拍脑袋的指标真是啪啪打脸,还是得做一个简单的计算来坐下评估,当然对于这个问题我觉得可以基于统计学的角度来做更进一步的分析,因为结合实际的业务场景,有很多改进的角度,我会在评估后给出一个可行的指标。

各大平台都可以找到我

  • 微信公众号:杨建荣的学习笔记

  • Github:@jeanron100

  • CSDN:@jeanron100

  • 知乎:@jeanron100

  • 头条号:@杨建荣的学习笔记

  • 网易号:@杨建荣的数据库笔记

  • 大鱼号:@杨建荣的数据库笔记

  • 腾讯云+社区:@杨建荣的学习笔记

原创热文:

维护之夜,说点故事和经验

我们为什么在MySQL中几乎不使用分区表

新年大吉 总结了如下的感想

《大江大河2》最触动我的一段经典对话

MySQL 8.0给开发方向带来的一些困扰

迁移到MySQL的业务架构演进实战

如何优化MySQL千万级大表,我写了6000字的解读

一道经典的MySQL面试题,答案出现三次反转

小白学MySQL要多久?我整理了10多个问题的答案

QQ群号:763628645

QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过

在看,让更多人看到

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注