JPA 二級快取 網路多播協議導致的資料庫效能問題
有一套老專案 , 已經跑了幾年了, 效能問題一直很好, 不存任何問題,
近期 出現資料庫效能問題, 資料庫負載高達50, 最低30左右, 最高 80 . 但是 %user 並不高, 20% 左右 , 說明資料庫的效能還是ok 的.
只是到達資料庫的請求多了, 經過對資料效能的統計分析, 發現最忙的餓時候,每秒的事務數達到裡10萬級別. 這個跟應用的訪問量是不匹配的.
而且 ,即便資料庫負載上升這麼多, 到達資料庫的連線增加這麼多, 應用的訪問量卻沒有明顯增加.
各個mc 也執行正常.
在對日誌進行分析的時候,發現了一點線索.
發現 JPA 的二級快取 的多播協議 ,在網路層面,不通 . 有的機器之間是通的,有點機器不通.
其實 JPA 的二級快取技術,還是相當牛 的 . 跨session 共享. 等等 . 因為這個網路協議不通,主要問題是網路丟包嚴重,導致分散式快取結果,無法再叢集的節點間共享,
導致了 , 頁面的請求, 在本機沒有cache 的情況下,無法透過共享快取來分享cache , 只能去請求資料庫了.
這就解釋了, 為什麼訪問量沒有增加, 而資料庫請求 大量增加.
因為其中一臺應用伺服器, 的組播協議是通的, 我們把訪問量最大的幾個請求引到這個機器上,對資料庫的根本就沒有壓力. 這進一步驗證了,我們的猜測.
問題找到了, 那麼解決問題的方法, 就很簡單了.
請網路部門, 調查路由設定, 開通協議傳輸,更換多播地址. 問題搞定.
如果 你 的應用是基於JPA 的框架開發的, 如果業務訪問量,沒有增加,而 資料庫訪問量大增的情況下, 而又無從下手的情況,你不妨考慮 ,是不是 JPA 的分散式二級快取的出問題了.
這個快取出問題的最大可能性 就是 網路協議, 在網路層面 被禁止傳輸了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-1826641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 快取與資料庫一致性問題深度剖析快取資料庫
- [Redis] 02-快取和資料庫資料一致性問題Redis快取資料庫
- 如何解決資料庫與快取的一致性問題資料庫快取
- 快取一致性協議快取協議
- 懷疑私網網路卡多播問題導致crs無法正常啟動
- 網路問題導致更多的資料中心中斷
- 巧妙設計多級快取,為資料庫減負快取資料庫
- 計算機網路資料篇(二)——快速理解網路協議計算機網路協議
- 使用資料庫處理併發可能導致的問題資料庫
- Web快取 – HTTP協議快取Web快取HTTP協議
- 快取與資料庫的一致性快取資料庫
- 快取與資料庫雙寫,不一致問題及解決方案快取資料庫
- 由Nginx的DNS快取導致的訪問404NginxDNS快取
- MySQL8.0 view導致的效能問題MySqlView
- ORACLE一體機pcie 快取卡損壞導致資料庫dang機Oracle快取資料庫
- 快取與資料庫一致性快取資料庫
- Mybatis的二級快取、使用Redis做二級快取MyBatis快取Redis
- 分散式快取--快取與資料庫一致性方案分散式快取資料庫
- 快取淘汰、快取穿透、快取擊穿、快取雪崩、資料庫快取雙寫一致性快取穿透資料庫
- 給資料庫減負刻不容緩:多級快取設計資料庫快取
- 就是這麼應對面試官的快取與資料庫一致性問題?面試快取資料庫
- 【眼見為實】資料庫併發問題 封鎖協議 隔離級別資料庫協議
- mybatis快取-二級快取MyBatis快取
- 分散式快取--快取與資料庫強一致場景下的方案分散式快取資料庫
- 資料庫管理-第118期 記一次開啟附加日誌導致的效能問題(202301129)資料庫
- 多核cpu、cpu快取記憶體、快取一致性協議、快取行、記憶體快取記憶體協議
- MyBatis快取機制(一級快取,二級快取)MyBatis快取
- 快取與資料庫的雙寫一致性快取資料庫
- 有問題的mybatis的sql導致對資料庫進行了批量的修改MyBatisSQL資料庫
- 網路協議 6 - 路由協議:敢問路在何方?協議路由
- 重置資料庫密碼後導致網站無法訪問資料庫密碼網站
- Redis快取穿透、擊穿、雪崩,資料庫與快取一致性Redis快取穿透資料庫
- 分散式之資料庫和快取雙寫一致性方案(二)分散式資料庫快取
- Mybatis的二級快取MyBatis快取
- 深入分析與解決方案:快取與資料庫雙寫不一致問題快取資料庫
- 網路協議之:基於UDP的高速資料傳輸協議UDT協議UDP
- 一次快取效能問題排查快取
- 面試常問:如何保證Redis快取和資料庫的資料一致性NRXW面試Redis快取資料庫
- 快取與資料庫不一致,咋辦?快取資料庫