一个数据库死锁竟然被测试发现了,这你敢信

2024-03-27 963 0

测试生产监控发现数据库死锁报错:org.springframework.dao.DeadlockLoserDataAccessException:

### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found

测试是通过什么方式发现呢?

一个数据库死锁竟然被测试发现了,这你敢信插图


还要从前一段时间老刘对我的疑问开始说起。

老刘:理赔系统上线后,不能进行生产验证,作为测试你要怎么避免生产问题呢

我:目前对生产的验证只能联系业务人员进行生产验证

老刘:那我们测试这边调研一下,看一下有什么方法

我:好的,我去看一下有没有适合的集团工具可以对生产异常数据进行统计

就是这样的一个对话,让我发现了EasyBI工具,和这个工具的缘分就开始了

首先,给大家介绍一个这个工具,它可以做什么呢?它可以通过连接生产数据库或者接口开发的形式进行生产数据统计,以聚合表、透视表、柱状图、折线图、雷达图等进行图形化配置,并将整个数据情况都汇总到统一的监控调度中心。

那我又是怎么怎么使用EasyBI工具解决了生产数据监控问题呢

首先,我根据自己系统的业务类型,开发了几个接口,生产数据异常的接口、生产理赔数量统计接口、生产TOP5理赔数据统计接口等

然后,按照EasyBI工具使用文档进行了配置,详细操作请看以下分析

(一)数据接入

把开发的接口在EasyBI工具平台(EasyBI (jd.com))进行配置


(二)应用配置

创建应用,把配置好的接口数据以聚合表、柱状图、等进行图形化配置,以该形式展示监控数据


(三)订阅管理

配置好应用后,对此应用进行邮件订阅,定时任务推送生产数据监控的结果


(四)监控数据分析

非车核心理赔数据统计接口:目前分为三类,分别是是错误信息统计接口、周失败和成功统计接口、日失败和成功统计接口

◦错误信息统计接口

▪1.1 通过对理赔不同的错误信息进行分类,统计出当天、本周、上周和上上周各个错误信息的个数,通过数据对比能够及时发现 当前系统的稳定性、理赔数据正确性、业务逻辑校验合理性

▪1.2 理赔不同的错误信息统计通过easyBI平台明细表分类展示

▪1.3 通过理赔错误类型及时判断是正常业务校验或者是异常问题

•周失败和成功统计,日成功和失败数据接口

▪2.1 针对团险的主流产品、个险的主流产品、理赔系统进行连续一周或者当天的理赔成功数据和错误数据统计,通过对比及时发现主流产品理赔业务的正确性,保证客户理赔的时效性

▪2.2 周数据根据商品计划在easyBI平台以柱状图展示,日数据根据商品计划在easyBI平台以条形图展示


开发过程中也会遇到一些问题,那是怎么解决的呢

问题就是刚开始设计方案时直接通过对理赔数据库数据进行查询返回对应的结果,发现接口会出现超时情况,因为理赔错误数据统计时需要根据理赔时的保单号查询承保详情接口判断出是对应的商品计划存在,这个是第三方的接口不受自己控制

改进方案为通过定时任务把需要的数据先存储到对应的数据库,然后根据存储到数据库的数据进行校验,以此可以解决接口超时问题

我发现的数据库死锁就是通过错误信息统计接口发现的,看到统计出的结果出现

org.springframework.dao.DeadlockLoserDataAccessException:

### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found这个非正常业务异常信息

发现后和老刘同步

老刘:哇哦!监控做的不错

我:会继续加油的

一个数据库死锁竟然被测试发现了,这你敢信插图7



4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

苹果试图保护你的隐私,OpenAI可能做不到
Shuffle:一款完全自动化的安全栈增强平台
如何使用CODASM编码Payload并降低熵值
SessionExec:一款针对会话安全的安全命令测试工具
Arkime:一款大规模数据包捕获和索引数据库系统
从蓝队流量角度分析Shiro-550反序列化漏洞

发布评论