首頁>Club>
公司的應用剛剛啟起來,連線池初始化完成,大概有1千次呼叫進來, 大概3,4分鐘吧。因為沒有暫時沒有配置拿連線的時候校驗,連線有效性。就出現了連線失效的問題,測試環境沒有出現,mysql配置的8小時失效時間, 搞不懂這裡為什麼才拿到連線,就會出現部分連線失效的問題。
7
回覆列表
  • 1 # 大劉哥聊技術

    當遇到遇到有大量的連結進來,頻繁的訪問資料庫的時候,估計是服務被拖垮了吧,一下子拿不到那麼多的連結。我們可以透過倆方面進行最佳化處理,避免一下子把服務拖垮。

    下面我主要從資料庫連線池和執行緒池倆方面進行說明。

    一、資料庫的連線池

    頻繁的訪問資料庫,頻繁的讀取和關閉,都會造成資源的浪費。我們通常會做一層資料庫連線池,把一些閒置的資料庫連線放到資料庫連線池中。一般的資料庫連線池方案有c3p0,druid,dbcp common pool ,還有SpringBoot2預設的資料庫連線池等。我這裡主要講講druid的簡單配置。

    Druid首先是一個數據庫連線池。Druid是目前最好的資料庫連線池,在功能、效能、擴充套件性方面,都超過其他資料庫連線池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已經在阿里巴巴部署了超過600個應用,經過一年多生產環境大規模部署的嚴苛考驗。

    第一步,需要引入druid的jar包依賴。

    第二步,配置url

    1、springboot的配置方法

    2、spring的配置方法

    二、執行緒的執行緒池

    簡單點的,可以直接呼叫spring自帶的執行緒池。

    配置如下:

  • 中秋節和大豐收的關聯?
  • 準備做電商,大家有什麼好的平臺推薦嗎?有什麼好的建議?