故障定位系列-4-波动度故障
准备出一系列故障定位的经验分享文章
- 故障定位系列-4-波动度故障
- 故障定位系列-5-DB基本故障
- 故障定位系列-6-DB更新和读取行数的故障
- 故障定位系列-7-DB连接池故障
- 故障定位系列-8-DB调用次数故障
- 故障定位系列-9-网络延迟类故障
1 故障场景
如下2个同样类型的故障
- 故障A:某个SQL的耗时故障(耗时更长,造成的影响大)
- 故障B:某个SQL的耗时故障(耗时相对短,造成的影响小)
其中某个服务在2个故障中的表现如下:
可以明显看出,这2次故障造成的耗时波动是不一样的,那这里就引出一个定位难点:如何能自适应不同程度的故障呢?
2 定位难点
要想适应不同程度的故障,需要做到如下2点:
- 异常检测需要自适应不同的波动度
- 上下游根因的界定如何适应不同的波动度
2.1 异常检测需要自适应不同的波动度
要想做到自适应,就必须先做到自学习,即对当前曲线的正常时间段的曲线波动进行学习
学习正常区间内的一些特征值:最大值、最小值、中位数、平均值、方差、标准差动态等计算出波动幅度,一旦响应时间波动大计算出的波动幅度也大,响应时间的波动小计算出的波动幅度也小,这样就容易适配不同的波动幅度了
再对异常区间进行异常检测:是否超过波动幅度,如果超过则认为异常,同时标记出异常范围
这里又引出了一个难点:如何界定出一段正常区间
一般通过告警来触发定位,因此可以将告警前几十分钟作为一个正常区间
2.2 上下游根因的界定如何适应不同的波动度
通常大家认为:客户端的响应时间上升了
- 如果服务端的响应时间也上升了:则认为是服务端的问题
- 如果服务端的响应时间没变化:则认为是客户端自身或者网络的问题
上述逻辑其实也涉及到一个波动度的问题,上图看起来是服务端造成了客户端的波动,但是如果服务端波动度再小一些,这时再去界定客户端还是服务端的问题就很难了
有什么解决办法呢:
- 可以配置一定的比例关系,如果2者响应时间的比例关系超过一定的比例再认为他们不相关,即并不是服务端造成了客户端的问题
- 这时候可能没法仅仅从这个点来判定到底是服务端还是客户端的问题,还是需要一个更综合的判断
3 实战案例
我们到RootTalk Sandbox上进行上述故障场景的复现。
RootTalk Sandbox是一个故障演练和定位的系统,可以进行多种故障场景的复现,目前开放注册。
地址:https://sandbox.databuff.com/
3.1 故障注入
注入一个中度的故障
然后再按照上述操作注入一个轻微的故障
注入后等待2~3分钟,可直接点击跳转到Databuff的故障定位平台
3.2 故障定位
登录Databuff后可以看到2次都能准确定位到故障
并且2次故障的波动幅度确实不一样
但是最终都能准确定位到是某个SQL的故障

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《HelloGitHub》第 110 期
兴趣是最好的老师,HelloGitHub 让你对开源感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,爱上开源! 以下为本期内容|每个月 28 号更新 C 项目 1、Chroma:面向游戏开发的色盲检测工具。该项目是育碧官方开源的色盲检测工具,支持实时在游戏画面上叠加三种色盲滤镜,帮助开发者直观地看到色盲用户可能遇到的视觉障碍,从而及时调整游戏设计,提升游戏的可访问性。 C# 项目 2、clawPDF:开源的虚拟打印机工具。这是一款专为 Windows 系统设计的虚拟(网络)打印机工具,支持将任意文档导出为 PDF、PDF/A、图片、SVG、TXT 等多种格式。它不仅具备网络打印、文件合并、批量处理、密码保护等高级功能,还支持通过脚本实现自动化处理。 3、megacity-metro:基于 Unity 的大型多人...
- 下一篇
YashanDB V23.4 LTS全库闪回新特性解读
柏杨 YashanDB存储研发技术专家 本文主要对YashanDB V23.4 LTS新版本的全库闪回新特性进行原理探讨与技术解析。 证券交易系统突发数据异常,三甲医院电子病历系统遭遇误操作...在这些极端故障场景中,传统数据库恢复方案正面临前所未有的挑战。传统数据库恢复技术(Point-In-Time-Recovery, PITR)通过全量数据库备份进行整库恢复,需要耗费数小时进行全量备份回滚与日志解析,且恢复效率受限于数据库大小。导致难以快速响应紧急故障,错失降低损失的黄金时间,造成交易停摆、医疗数据混乱等严重后果。YashanDB V23.4 LTS新版本中重磅推出全库闪回特性,基于闪回快照点技术及并行异步刷盘技术,开启闪回对业务性能影响可降低至8%;并通过闪回日志快速过滤技术,可高效解决传统闪回技术资源消耗大、恢复时间长的问题。 PITR和全库闪回技术的对比 PITR与全库闪回的主要区别在于对数据库的回退处理方式,前者是整库回退,后者能实现精准回退。 PITR技术 传统的PITR数据库恢复技术主要是通过备份集对数据库进行全量数据回退,再基于redo进行回放重演到目标时间点。 图...
相关文章
文章评论
共有0条评论来说两句吧...