springboot 配置 druid 监控
pom 文件引入 druid 依赖
<!--引入druid数据源-->
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.11</version>
</dependency>
application.yml 添加 druid 配置
spring:datasource:url: "jdbc:mysql://192.168.xxx.xx:3306/demo?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai"username: "root"password: "xxxxxxxxxxx"driver-class-name: "com.mysql.cj.jdbc.Driver"type: com.alibaba.druid.pool.DruidDataSourceinitialSize: 5maxActive: 20maxWait: 60000poolPreparedStatements: truemaxOpenPreparedStatements: 100validationQuery: SELECT 1 FROM DUALtestOnBorrow: falsetestOnReturn: falsetestWhileIdle: truetimeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000filters: stat,wallmaxPoolPreparedStatementPerConnectionSize: 20useGlobalDataSourceStat: trueconnectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
配置 | 默认值 | 说明 |
---|---|---|
driverClassName | 根据url自动识别 | 这一项可配可不配,如果不配置druid会根据url自动识别dbType,然后选择相应的driverClassName |
initialSize | 0 | 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 |
maxActive | 8 | 最大连接池数量 |
maxIdle | 8 | 已经不再使用,配置了也没效果 |
minIdle | – | 最小连接池数量 |
maxWait | – | 获取连接时最大等待时间,单位毫秒。配置了maxWait之后, 缺省启用公平锁,并发效率会有所下降, 如果需要可以通过配置useUnfairLock属性为true使用非公平锁 |
poolPreparedStatements | false | 是否缓存preparedStatement,也就是PSCache。 PSCache对支持游标的数据库性能提升巨大,比如说oracle。 在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。 |
maxOpenPreparedStatements | -1 | 要启用PSCache,必须配置大于0,当大于0时, poolPreparedStatements自动触发修改为true。 在Druid中,不会存在Oracle下PSCache占用内存过多的问题, 可以把这个数值配置大一些,比如说100 |
validationQuery | – | 用来检测连接是否有效的sql,要求是一个查询语句。 如果validationQuery为null,testOnBorrow、testOnReturn、 testWhileIdle都不会其作用。 |
testOnBorrow | true | 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 |
testOnReturn | false | 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 |
testWhileIdle | false | 建议配置为true,不影响性能,并且保证安全性。 申请连接的时候检测,如果空闲时间大于 timeBetweenEvictionRunsMillis, 执行validationQuery检测连接是否有效。 |
timeBetweenEvictionRunsMillis | – |
有两个含义: 1) Destroy线程会检测连接的间隔时间 2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明 |
connectionInitSqls | – | 物理连接初始化的时候执行的sql |
minEvictableIdleTimeMillis | – | 连接池中的空闲连接保持空闲不被空闲连接回收器线程回收的最小时间值,单位毫秒 |
filters | – |
属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有: stat:监控统计用的filter log4j:日志用的filter wall:防御sql注入的filter |
maxPoolPreparedStatementPerConnectionSize | 10 | 要启⽤用PSCache,必须配置⼤大于0,当⼤大于0时poolPreparedStatements自动触发修改为true。单个connnection独享⼀一个statement cache,也就是说maxOpenPreparedStatements是针对单个connection链接的 |
useGlobalDataSourceStat | – | 合并多个DruidDataSource的监控数据 |
connectionProperties | – |
mergeSql:通过connectProperties属性来打开mergeSql功能 slowSqlMillis:超过多少毫秒判断为慢SQL |
配置 druid 的 ui 界面
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;/*** @author luozhanfeng* @version 1.0* @date 2022/7/5 16:47* @description 配置 Druid 监控管理后台*/
@Configuration
public class DruidConfig {@ConfigurationProperties(prefix = "spring.datasource")@Beanpublic DataSource druid() {return new DruidDataSource();}/*** 内置 Servlet 容器时没有web.xml文件,所以使用 Spring Boot 的注册 Servlet 方式*/@Beanpublic ServletRegistrationBean statViewServlet() {ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");/* 这些参数可以在 com.alibaba.druid.support.http.StatViewServlet 的父类 com.alibaba.druid.support.http.ResourceServlet 中找到 */Map<String, String> initParams = new HashMap<>();initParams.put("loginUsername", "admin");initParams.put("loginPassword", "123456");/* 默认就是允许所有访问 */initParams.put("allow", "");bean.setInitParameters(initParams);return bean;}/*** 2、配置一个web监控的filter*/@Beanpublic FilterRegistrationBean webStatFilter() {Map<String, String> initParams = new HashMap<>();initParams.put("exclusions", "*.js,*.css,/druid/*");FilterRegistrationBean bean = new FilterRegistrationBean();bean.setFilter(new WebStatFilter());bean.setInitParameters(initParams);bean.setUrlPatterns(Arrays.asList("/*"));return bean;}}
ui 访问地址: localhost:[port]/druid/sql.html
springboot 配置 druid 监控相关推荐
- SpringBoot 配置Druid监控页面
首先创建druid配置类:用户名.密码需要自行修改. package org.demo;import com.alibaba.druid.pool.DruidDataSource; import co ...
- springboot下配置druid监控
springboot下配置druid监控 在springboot中引用的包 相关配置 页面访问 获取druid监控数据 官方介绍如下:Druid是Java语言中最好的数据库连接池.Druid能够提供强 ...
- springboot配置Druid数据源
springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...
- springboot集成druid监控
springboot集成druid监控 引入pom依赖 <!-- druid数据库连接池 --> <dependency><groupId>com.alibaba& ...
- Springboot配置Druid数据源详解
配置数据源 1.添加Druid依赖 <!-- druid数据源--> <!-- https://mvnrepository.com/artifact/com.alibaba/drui ...
- 配置druid监控页面
配置druid监控页面 第一步:创建项目 第二步:导入依赖 并加引入 <properties><java.version>1.8</java.version> &l ...
- SpringBoot使用Druid监控SQL
文章目录 1 监控mybatis下SQL 1.1 Druid简介 1.2 添加pom.xml依赖 1.3 配置相关属性 1.3.1 如何配置 Filter 1.4 监控页面 1.5 sql监控 1.6 ...
- springboot整合druid 监控sql
介绍 Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss DataSource等 ...
- SpringBoot配置druid连接池
一.添加pom.xml <dependency><groupId>com.alibaba</groupId><artifactId>druid-spri ...
最新文章
- 微信硬件平台智能路由行业解决方案
- 一个方法可解决两个问题:1:Unity打开时一直加载,不能NEW,只能OPEN; 2:Unity 出现license error,re-active时一直循环报错
- python中re模块怎么导入_python如何导入re模块
- delphi webbrowser 经常用法演示样例
- MFC VS2012对话框背景填图
- android viewpager 底部tabhost,FragmentTabHost+ViewPager实现底部导航栏
- java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...
- 安卓手机运行python程序的软件-安卓手机定时运行python脚本
- Java包装类和基本数据类型的对照
- centos升级之gcc 升级 gcc-7.3.0安装
- [html] 实现两列等宽布局的方式有哪些?
- Oracle数据库SqlLoad常用技巧总结word版
- Nginx---- Nginx命令配置到系统环境
- I00008 百鸡问题
- 网站并发300就很慢
- BZOJ4311:向量——题解
- 两种方式获取revit族文件预览缩略图
- 手机抓包之fiddler工具使用记录
- 有道云笔记linux使用教程,巧妙地使用typora编辑有道云笔记
- 科技大学计算机基础试卷答案,大学计算机基础期末考试试卷(带答案)
热门文章
- h5页面调用用户手机打电话功能以及复制内容到剪切板
- matlab中出现未定义函数或变量如何解决?
- 孤立森林算法 python_异常检测怎么做,试试孤立随机森林算法(附代码)
- 人物故事 | 李飞飞离职谷歌背后:AI还很稚嫩 作为科学家很卑微
- 从菜鸟到大神:SEO优化方法大揭秘
- 回收站服务器运行失败,win7回收站清空无效怎么办|win7清空回收站失败的解决方法...
- 技术前沿与经典文章35:诸葛亮千古奇文——全篇仅86字,道尽成大器秘诀
- 动作识别经典C3D论文Learning Spatiotemporal Features with 3D Convolutional Networks的介绍
- linux hub 移动硬盘,使用USB Hub可能会损坏你的移动硬盘!
- 移动硬盘损坏文件恢复方法