1. 程式人生 > 程式設計 >SpringBoot整合Druid監控頁面最小化配置操作

SpringBoot整合Druid監控頁面最小化配置操作

在專案中使用阿里的druid連線池,pom檔案配置:

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <scope>runtime</scope>
</dependency>
<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>druid-spring-boot-starter</artifactId>
 <version>1.1.14</version>
</dependency>

application.properties配置,官方文件可查:

# Druid連線池配置,官方配置參考:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# Druid其他配置
spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=20
spring.datasource.druid.min-idle=10
spring.datasource.druid.max-wait=10
spring.datasource.druid.filters=stat,wall
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000

# Druid WebStatFilter配置,說明請參考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.gif,*.png,*.jpg,*.html,*.js,*.css,*.ico,/druid/*

# Druid StatViewServlet配置,說明請參考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.stat-view-servlet.allow=
spring.datasource.druid.stat-view-servlet.deny=

OK,搞定~

接下來,啟動專案,開啟地址:http://localhost:8080/druid

頁面長這樣:

SpringBoot整合Druid監控頁面最小化配置操作

我來請求一下介面,查詢sql,確實監控到了:

SpringBoot整合Druid監控頁面最小化配置操作

補充知識:druid 配置理解及監控介面引數理解

druid 配置理解

官方文件中的很多配置,不是太理解或者貌似理解了,自己不實踐一下,心裡也不踏實,所以決定自己搞一個demo測試一下理解理解各個配置到底是什麼意思

一、druidDataSource 配置

引數名稱 我的理解 官方說明
pool-prepared-statements preparedStatement的建立會消耗很多的系統資源,同樣的sql可以重用preparedStatement 是否快取preparedStatement,也就是PSCache。PSCache對支援遊標的資料庫效能提升巨大,比如說oracle。在mysql下建議關閉
initial-size 初始化連線數 連線池建立時建立的初始化連線數
max-pool-prepared-statement-per-connection-size 這個我不是太確定,這個應該是PSCache的快取大小吧,官方說可以給大一點,單位也不清楚,那就給100吧
validation-query 這個配置還是很容易理解的,關鍵是怎麼去驗證一下,比如在testOnBorrow=true,當申請連結時,確實會執行validation-query.我是這樣驗證的,validation-query=select 1 from dualss(有語法錯誤的sql),結果在申請連結的時候就報錯了,證明在testOnBorrow的時候確實執行了validation-query,後面的testOnReturn,testWhileIdle我沒有驗證,應該都一樣 用來檢測連線是否有效的sql,要求是一個查詢語句,常用select ‘x'。如果validationQuery為null,testOnBorrow、testOnReturn、testWhileIdle都不會起作用。
validation-query-timeout 不知道怎麼驗證
test-on-borrow 不知道怎麼驗證,因為無論是true,還是false,只要validation-query有值,都會執行一下validation-query
test-on-return 不知道怎麼驗證
test-while-idle 不知道怎麼驗證
time-between-eviction-runs-millis 預設是1分鐘,就是destory每隔1分鐘會執行一次

二、後臺監控頁面中的各數值的含義

我的埠是8585,就是如下圖這個介面中每行

SpringBoot整合Druid監控頁面最小化配置操作

引數名稱 中文 我的理解 官方說明
ActiveCount 活躍連線數 有n個連線正在執行sql,那麼這個值就為n 當前連線池中活躍連線數
InitialSize 初始化連線大小 預設就是專案啟動就會初始化的連線數 連線池建立時建立的初始化連線數
LogicConnectCount 邏輯連線開啟次數 與MaxActive沒有關係,連線被用一次,LogicConnectCount就會+1,就是連線池中的連線被用次數綜合 產生的邏輯連線建立總數
minEvictableIdleTimeMillis 連線保持空閒而不被驅逐的最小時間

以上這篇SpringBoot整合Druid監控頁面最小化配置操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。