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

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

时间:2024-03-13 14:44:06浏览次数:27  
标签:理赔 数据库 错误信息 接口 死锁 测试 数据 统计

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

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

 

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

 

image.png

 

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

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

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

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

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

 

就是这样的一个对话,让我发现了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这个非正常业务异常信息

 

发现后和老刘同步

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

我:会继续加油的

 

 

image.png

 

 

标签:理赔,数据库,错误信息,接口,死锁,测试,数据,统计
From: https://www.cnblogs.com/Jcloud/p/18070607

相关文章

  • CANape 22.0新特性:小改进大作用,为汽车测试工程带来更多便利!
    大家好!在前文中,我们已经了解了CANape22.0版本的主要新特性,现在,我们将进一步探索CANape22.0新增的一系列小而美的新特性。尽管这些特性可能不如前文提到的主要更新那样惊艳,但它们同样是CANape22.0版本的亮点所在,这些微小改进将为广大汽车测试工程师们带来更多便利并提升工作效率......
  • 基于springboot的车辆充电桩管理系统(系统+数据库+文档)
    **......
  • 基于SpringBoot的CSGO赛事管理系统(程序+数据库+文档)
    **......
  • 十分钟掌握分布式数据库开发:OpenMLDB 开发者镜像详解
    OpenMLDB是一款国产的、开源的、面向时序数据的分布式内存数据库系统,它专注于高性能、高可靠性和易扩展性,适用于海量时序数据的处理以及在线特征的实时计算。在大数据和机器学习的浪潮中,OpenMLDB以其强大的数据处理能力和高效的机器学习支持,在开源数据库领域崭露头角。OpenMLDB......
  • CYQ.Data 操作 Redis 性能测试:对比 StackExchange.Redis
    前言:前几天,点开自己的博客,看了一下CYQ.DataV5系列 都有哪些文章,发现了一篇2019年写的:CYQ.Data对于分布式缓存Redis、MemCache高可用的改进及性能测试,于是点进去看了看。感觉文章中有些表述存有问题,不过不是重点。重点,看了里面的测试结论,如果四五年过去了,CYQ.Data 低调的......
  • 【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流
    文章目录前言1.准备数据集和数据预处理1.1数据集选择1.2数据预处理1.3评估指标PSNR和SSIM1.3.1PSNR1.3.2SSIM2.定义网络结构3.设置参数并训练模型3.1参数设置3.2模型训练4.测试训练好的模型5.用训练好的SRCNN模型超分自己的图像数据6.其他补充6.1特征图......
  • 性能诊断工具DBdoctor如何快速纳管数据库PolarDB-X
    DBdoctor是一款为数据库内核级性能诊断工具,利用eBPF技术深入数据库内核,致力于解决数据库的一切性能问题。近日,DBdoctor(V3.1.0)正式通过了阿里云PolarDB分布式版(V2.3)产品集成认证测试,并获得阿里云颁发的产品生态集成认证。本文将介绍PolarDB的特性,以及如何快速纳管数据库Pola......
  • 38_数据库实战
    一、数据库案例MySQL容器案例dockerrun-d-p3306:3306--privileged=true\-v/data/mysql/log:/var/log/mysql\-v/data/mysql/data:/var/lib/mysql\-v/data/mysql/conf:/etc/mysql/conf.d\-eMYSQL_ROOT_PASSWORD=123456\--namemysqlmysql:5.7#配置my.......
  • Samtec理念 | 测试在工程中的意义
    【摘要/前言】测试是所有制造过程的最后一个步骤,本应是非常重要的步骤,但却经常被忽视。测试不缜密的产品一旦流入市场,必然会摧毁质量声誉。在当今按键发文就能让全世界知晓的全民媒体时代,测试的重要性就更加彰显。与此同时,随着产品本身日渐复杂,受测产品的精密程度也随之攀升......
  • (一)Web功能测试下的安全测试如何进行?
        想到安全测试很多功能测试人员都很难入手,以为都是专业的安全测试人员去做。比如经常碰到的任务:某某某测试下系统有哪些安全问题,而对于经历过长达五六年的web功能、性能、接口测试人员来说,面对该任务就一头雾水。     万事开头难,难在第一步如何走?没有知......