SpringBoot集成Druid监控页面最小化配置操作

网友投稿 325 2022-11-19


SpringBoot集成Druid监控页面最小化配置操作

在项目中使用阿里的druid连接池,pom文件配置:

mysql

mysql-connector-java

runtime

com.alibaba

druid-spring-boot-starter

1.1.14

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.enaTIQmBfpxrYbled=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

页面长这样:

我来请求一下接口,查询sql,确实监控到了:

补充知识: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,就是如下图这个界面中每行

参数名称

中文

我的理解

官方说明

ActiveCount

活跃连接数

有n个连接正在执行sql,那么这个值就为n

当前连接池中活跃连接数

InitialSize

初始化连接大小

默认就是项目启动就会初始化的连接数

连接池建立时创建的初始化连接数

LogicConnectCount

逻辑连接打开次数

与MaxActive没有关系,连接被用一次,LogicConnectCount就会+1,就是连接池中的连接被用次数综合

产生的逻辑连接建立总数

minEvictableIdleTimeMillis

连接保持空闲而不被驱逐的最小时间


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解jvm中的标量替换
下一篇:IDEA JeeSite框架httpSession.invalidate()无效问题解决方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~