一個資料庫死鎖竟然被測試發現了,這你敢信
測試生產監控發現資料庫死鎖報錯: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 這個非正常業務異常資訊
發現後和老劉同步
老劉:哇哦!監控做的不錯
我:會繼續加油的
相關文章
- 即刻殺死資料庫鎖資料庫
- ASM資料庫的一個測試ASM資料庫
- oracle 死鎖發生的測試用例Oracle
- 這樣分析一個死鎖問題
- 你敢信?就是這個Netty的網路框架差點把我整瘋了,哭jjNetty框架
- 解決Oracle資料庫死鎖Oracle資料庫
- 【疑難系列】 一個看起來是資料庫死鎖的問題資料庫
- 建立一個SQL測試資料庫 - 消費者資料庫SQL資料庫
- 資料庫被鎖問題資料庫
- 這款資料庫管理工具你一定要試試!資料庫
- oracle死鎖測試與解決Oracle
- 都已經1202年了,你竟然還在說測試比不上開發?
- 一個MySQL死鎖問題的復現MySql
- 一個併發SQL資料庫卡主了SQL資料庫
- 測試庫死鎖診斷DEADLOCK DETECTED ( ORA-00060 )
- 關於大資料測試,你一定要試試python的fake庫大資料Python
- 你敢信?資料表明無人駕駛汽車交通事故率更高!
- 竟然拿ETL當測試資料生成工具使用
- 程式設計面試題:編寫一個會造成資料庫死鎖的應用程式設計面試題資料庫
- MySQL:一個死鎖分析 (未分析出來的死鎖)MySql
- 資料庫死鎖排查思路分享(糾正篇)資料庫
- 我發現我的資料被操縱了……
- 記一次公司倉庫資料庫伺服器死鎖過程資料庫伺服器
- 亞信科技AntDB資料庫——深入瞭解AntDB-M後設資料鎖的實現(一)資料庫
- MySQL:Innodb 一個死鎖案例MySql
- 你這不是測試驅動開發
- 關於資料庫死鎖問題的解釋資料庫
- 10.1.0.3資料庫帳號被鎖定資料庫
- 大資料測試與 傳統資料庫測試大資料資料庫
- JAVA死鎖排查-效能測試問題排查思路Java
- 重重封鎖,讓你一條資料都拿不到《死磕MySQL系列 十三》MySql
- MySQL 資料庫鎖定機制?這篇文章為你分析清楚~MySql資料庫
- 資料庫測試指南資料庫
- ORACLE死鎖檢測Oracle
- 軟體測試之資料庫系列一資料庫
- 分散式死鎖的一個例子分散式
- 如果這10道關於資料庫的測試題你都會,面試必過!資料庫面試
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫