成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微服務架構下,MySQL讀寫分離后,Druid連接池參數優化實戰

數據庫 MySQL 架構
最近利用MHA做好Mysql讀寫分離后,時不時有用戶反饋后臺發布文章時,報程序“通用異常",經問題排查,里面涉及應用JDBC連接池參數及Mysql參數調整問題。

 前言

最近利用MHA做好Mysql讀寫分離后,時不時有用戶反饋后臺發布文章時,報程序“通用異常",經問題排查,里面涉及應用JDBC連接池參數及Mysql參數調整問題。

[[277851]]

問題回顧

異常日志描述:

微服務架構下,Mysql讀寫分離后,Druid連接池參數優化實戰

從異常信息反映來看,問題關鍵有兩點

  1. 數據庫連接池超時設置大于wait_timeout
  2. 日志提示,可以通過驗證數據庫連接或者設置:autoReconnect=true 來避免此異常

從以上兩點可以推測

第一、應用程序數據庫連接池超時參數設置有問題

第二、安裝Mysql數據庫時,對于Mysql的內在參數wait_timeout沒有做實際場景的優化處理

問題定位

wait_timeout參數具體用途

wait_timeout具體含義是服務器關閉非交互連接之前等待活動秒數。MySQL缺省配置情況下,wait_timeout的初始值是28800秒,也就是8小時。如果wait_timeout超時時間設置過大,在MySQL管理系統里會產生大量的SLEEP進程無法及時釋放,會導致服務器系統性能下降;同時該參數設置過小,會導致Mysql處理某些事務未處理,連接不可用狀態。

也就是說如果在wait_timeout設置期間內,數據庫連接Connection一直處于空閑等待狀態,mysql內部會自動關閉此連接,而應用程序無法感知到,依然認為連接池合法持有該連接。當應用端再次用該連接來進行數據庫操作時,就產生上述異常錯誤。

應用端Druid數據庫連接池參數排查

微服務架構下,Mysql讀寫分離后,Druid連接池參數優化實戰

發現連接池有個MaxWait參數設置過大:60000毫秒

  1. druidDataSource.setMaxWait(60000) 

然后在CSDN上,發現有個同行碰到同樣的問題:

發現數據庫等待超時時間(wait_timeout)是28800s,也就是8小時,而應用程連接池參數max-wait: 30000,所以導致項目判定該鏈接可用,而mysql判定該連接不可用導致連接失敗。

解決辦法

根據上面的分析思路,我們排查了Mysql生產庫,發現默認Mysql超時時間(wait_timeout)也是28800s,但是應用層連接池MaxWait參數設置成60000,于是我把MaxWait參數設置成10000,小于Mysql超時時間(wait_timeout):28800 ,在測試環境等待8小時后,報錯消失了。

其他擴展思路(來源網絡)

思路一:在jdbc-url后添加 &autoReconnect=true,使用后無效,查的該方案只適用于Mysql4之前的版本有效

思路二:將mysql回收空閑連接的時間變長,mysql默認回收時間是8小時,可以在mysql目錄下的my.ini中增加下面配置,將時間改為1天。單位是秒,最大好像是24天。 此配置會拖累數據庫性能,隨棄用該方案。

思路三:配置druid鏈接池,使用 validation-query test-on-borrow: true test-while-idle: true 三種屬性,每次獲取數據庫連接時判斷該連接是否可用。同時設置druidDataSource.setPhyTimeoutMillis參數

連接最大存活時間,默認是-1(不限制物理連接時間),從創建連接開始計算,如果超過該時間,則會被清理druidDataSource.setPhyTimeoutMillis(15000);

參考例子

目前項目中趨于穩定的連接池參數優化實戰,參考如下:

微服務架構下,Mysql讀寫分離后,Druid連接池參數優化實戰

Druid連接池參數官方說明:

微服務架構下,Mysql讀寫分離后,Druid連接池參數優化實戰

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2011-05-13 09:34:51

TomcatMysql連接池

2021-03-24 09:06:01

MySQL長連接短連接

2019-09-17 11:18:09

SQLMySQLJava

2022-02-21 07:48:54

Mysql數據庫SpringBoot

2011-06-01 13:54:10

MySQL

2018-01-01 05:23:13

服務化讀寫分離架構

2019-12-30 15:30:13

連接池請求PHP

2025-01-16 10:30:49

2025-01-10 00:00:10

2022-11-11 09:41:04

連接池微服務數據庫

2021-07-07 14:20:15

高并發服務數據庫

2022-08-16 08:50:40

微服務動態讀寫分離

2011-09-08 10:30:42

Druid數據庫連接池

2025-02-07 12:11:52

2009-11-11 14:04:14

ADO.NET連接池

2010-05-17 16:38:08

MySQL 連接池

2010-11-08 16:46:57

2022-05-13 07:31:58

數據庫連接池druid

2023-09-07 11:09:59

連接池本地端口號

2018-02-07 16:23:58

連接池內存池AI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: caoporn国产精品免费公开 | 人人干人人超 | 国产伦一区二区三区四区 | 久色网| 337p日本欧洲亚洲大胆精蜜臀 | 在线看亚洲| 羞羞网站在线观看 | 欧美精品91| 国产精品高潮呻吟久久aⅴ码 | 国产日韩一区二区 | 午夜影院网站 | 一区二区三区欧美 | 亚洲精选一区 | 拍真实国产伦偷精品 | 91视频18 | 91p在线观看 | 99久久精品国产毛片 | 欧美福利精品 | 久久性色| 日本免费一区二区三区四区 | 国产精品久久久久久久久久久免费看 | 国产免费a视频 | 91精品无人区卡一卡二卡三 | 国产高清区 | 成人一区在线观看 | 精品乱码一区二区三四区 | 自拍 亚洲 欧美 老师 丝袜 | 欧美成人a| 大伊人久久 | 国产一区二区在线免费播放 | 亚洲精品三级 | 久久久久国产一区二区三区 | 久久久久一区二区三区 | 亚洲国产成人av好男人在线观看 | 亚洲人久久| 亚洲综合一区二区三区 | 一区二区不卡 | 日本精品一区二区三区在线观看 | 一区二区三区视频播放 | 九九热久久免费视频 | 欧美中文字幕 |