一個資料庫死鎖竟然被測試發現了,這你敢信
測試生產監控發現資料庫死鎖報錯: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 這個非正常業務異常資訊
發現後和老劉同步
老劉:哇哦!監控做的不錯
我:會繼續加油的
相關文章
- 衝機器比了個心,竟然被它發現了
- 程式設計面試題:編寫一個會造成資料庫死鎖的應用程式設計面試題資料庫
- 【疑難系列】 一個看起來是資料庫死鎖的問題資料庫
- 都已經1202年了,你竟然還在說測試比不上開發?
- 建立一個SQL測試資料庫 - 消費者資料庫SQL資料庫
- 你敢信?就是這個Netty的網路框架差點把我整瘋了,哭jjNetty框架
- 這款資料庫管理工具你一定要試試!資料庫
- 一個併發SQL資料庫卡主了SQL資料庫
- 資料庫死鎖排查思路分享(糾正篇)資料庫
- 記一次公司倉庫資料庫伺服器死鎖過程資料庫伺服器
- MySQL:一個死鎖分析 (未分析出來的死鎖)MySql
- 關於大資料測試,你一定要試試python的fake庫大資料Python
- 面試官:請用SQL模擬一個死鎖面試SQL
- 面試:什麼是死鎖,如何避免或解決死鎖;MySQL中的死鎖現象,MySQL死鎖如何解決面試MySql
- MySQL:Innodb 一個死鎖案例MySql
- 手畫圖解,關於死鎖,面試的一切都在這裡了圖解面試
- 竟然拿ETL當測試資料生成工具使用
- 如果這10道關於資料庫的測試題你都會,面試必過!資料庫面試
- 關於 SAP HANA 資料庫的死鎖問題(deadlock)資料庫
- 亞信科技AntDB資料庫——深入瞭解AntDB-M後設資料鎖的實現(一)資料庫
- 重重封鎖,讓你一條資料都拿不到《死磕MySQL系列 十三》MySql
- MySQL 資料庫鎖定機制?這篇文章為你分析清楚~MySql資料庫
- (資料庫十)資料庫中的鎖機制以及死鎖產生的原因及解決辦法資料庫
- 大資料測試與 傳統資料庫測試大資料資料庫
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- JAVA死鎖排查-效能測試問題排查思路Java
- 面試官:什麼是死鎖?怎麼排查死鎖?怎麼避免死鎖?面試
- 35歲測試工程師被辭退,給你們一個忠告工程師
- 資料庫測試指南資料庫
- 軟體測試之資料庫系列一資料庫
- mysql行鎖和死鎖檢測MySql
- TestContainers:現代資料庫的測試方法 -GunduAI資料庫
- 併發:死鎖
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- 向xxxhub發了一個資料包,發現了一些不可告人的秘密
- 這個Maven依賴的問題,你敢說你沒遇到過Maven
- 面試官:小夥子,夠了夠了,一個工廠模式你都在這說半個小時了!面試模式
- 一次詭異的線上資料庫的死鎖問題排查過程資料庫