Druid 德鲁伊 | 安装、使用指南

news/2024/12/28 21:13:16/

Druid安装指南

  • 1. druid简介
    • 1.1数据库连接池
  • 2. 安装前的环境准备
  • 3. 安装步骤
    • 3.1 引入maven依赖
    • 3.1 编写配置文件
    • 3.3 启动Druid Monitor
  • 4. druid使用指南
    • 4.1 数据源
    • 4.2 SQL监控
    • 4.3 SQL防火墙
    • 4.4 web应用
    • 4.5 URI监控

1. druid简介

  druid是阿里开源的一个数据库连接池的解决方案。它本身还自带一个监控平台,可以查看时时产生的sql、uri等监控数据,可以排查慢sql、慢请求,方便对sql和项目代码进行调优。

1.1数据库连接池

  数据库连接池是一种用于管理和复用数据库连接的技术。在应用程序与数据库之间建立连接是一项开销较大的操作,而连接池的目标是通过预先建立一组数据库连接,然后在应用程序需要时分配和复用这些连接,以减少连接建立和断开的开销,提高数据库访问的效率和性能。
在这里插入图片描述


2. 安装前的环境准备

1、springboot项目

<!--父工程--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version></parent>

2、mysql版本:5.7



3. 安装步骤

3.1 引入maven依赖

        <!--druid依赖--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency>

3.1 编写配置文件

  配置文件放在在这里插入图片描述

spring:#数据库连接配置datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://xxx.xxx.xxx:3306/xxxxxx?autoReconnect=true&useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=trueusername: xxxxpassword: xxxx#druid数据源配置druid:# 初始化连接池大小initialSize: 5# 最小连接数minIdle: 5# 最大连接数maxActive: 40# 获取连接时的最大等待时间maxWait: 60000#间隔多长时间进行一次检测;timeBetweenEvictionRunsMillis: 60000#配置一个最小的生存对象的空闲时间 minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1testWhileIdle: true#申请连接时执行validationQuery检测连接是否有效,默认true,开启后会降低性能testOnBorrow: false#归还连接时执行validationQuery检测连接是否有效,默认false,开启后会降低性能testOnReturn: falsepoolPreparedStatements: true#配置监控统计拦截的filters。stat:监控统计、wall:防御sql注入、log4j:日志记录filters: stat,log4jmaxPoolPreparedStatementPerConnectionSize: 20useGlobalDataSourceStat: true#执行时间超过3000毫秒的sql会被标记为慢sqlconnectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=3000#配置过滤器,过滤掉静态文件web-stat-filter:enabled: trueurl-pattern: /*exclusions: /druid/*,*.js,*.css,*.gif,*.jpg,*.bmp,*.png,*.ico#配置可视化控制台页面stat-view-servlet:filter:stat:merge-sql: false  enabled: true#访问德鲁伊监控页面的地址url-pattern: /druid/*#IP白名单 没有配置或者为空 则允许所有访问allow: xxx.xxx.xxx#IP黑名单 若白名单也存在 则优先使用#deny: ip地址#禁用重置按钮reset-enable: true#登录所用的用户名与密码login-username: adminlogin-password: 123456

3.3 启动Druid Monitor

  运行项目以后德鲁伊就开始工作了。上面配置文件中配置了访问德鲁伊控制台的地址,打开控制台直接在项目路径后拼接/druid/index.html
在这里插入图片描述



4. druid使用指南

4.1 数据源

   在数据源这里可以看到连接池的情况,包括配置文件中配置的连接数等参数,以及没有配置的一些默认参数。
在这里插入图片描述

   数据源的下半部分可以看到一些时时产生的数据,这些参数都附带了解释,一些重要的数据有:

  • 等待线程数量 :当前等待获取连接的线程数
  • 事务启动数 :事务开始的个数
  • 事务时间分布 :事务运行时间分布,分布区间为[0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]
  • 池中连接数峰值 :连接池中数目的峰值
  • 活跃连接数 :当前连接池中活跃连接数
  • 执行数 :所有连接执行的任务数
  • 事务回滚数 :事务失败回滚的次数
  • 连接持有时间分布:连接持有时间分布,分布区间为[0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]

在这里插入图片描述

4.2 SQL监控

  我们在配置文件中配置了慢sql的执行时间为3秒钟,这里会将超过3秒钟的sql标红,方便我们一眼就看到。可以从下图看到有两个mansql,并把sql显示了出来,我们可以针对性的进行sql优化。

  执行分布时间一共有8个档位,在上述数据源里已经看到了这8个档位的含义。

  可以看到最大并发数是40,这是因为在配置文件中配置了最大连接数为40,可以根据实际情况调整参数。

在这里插入图片描述

  点击左侧蓝色的sql,可以查看更详细的视图。

在这里插入图片描述



4.3 SQL防火墙

  记录配置文件中配置的黑、白名单的拦截信息,我这里没有配也没有数据。

在这里插入图片描述


4.4 web应用

  可以看到整个项目的运行数据,主要记录的还是和数据库打交道的一些数据。
在这里插入图片描述


4.5 URI监控

  有不少中间件都能实现对于URI的监控(sentinel、skywalking、zipkin等),德鲁伊侧重的是和数据库连接产生的数据,可以结合多个监控的数据一起参考。
在这里插入图片描述


http://www.ppmy.cn/news/1036359.html

相关文章

第二章:联邦学习的安全机制

第二章 联邦学习的安全机制 2.1 基于同态加密2.1.1 定义2.1.2 分类 2.2 基于差分隐私的安全机制2.2.1 定义2.2.2 差分隐私的实现机制 2.3 基于安全多方计算的安全机制2.3.1 秘密共享2.3.2 不经意传输2.3.3 混淆电路 2.4 全机制的性能效率对比2.5 基于Python的安全计算库 2.1 基…

PINN神经网络源代码解析(pyTorch)

参考文献 PINN(Physics-informed Neural Networks)的原理部分可参见https://maziarraissi.github.io/PINNs/ 考虑Burgers方程&#xff0c;如下图所示&#xff0c;初始时刻u符合sin分布&#xff0c;随着时间推移在x0处发生间断. 这是一个经典问题&#xff0c;可使用pytorch通过…

【运筹优化】运输问题建模 + Java调用Cplex求解

文章目录 一、问题描述二、思路分析三、建模方案四、Java调用Cplex代码五、输出结果 一、问题描述 运输问题(transportation problem&#xff09;一般是研究把某种商品从若干个产地运至若干个销地而使总运费最小的一类问题。 本博客将根据下面的例题&#xff0c;介绍运输问题…

ps怎么压缩图片大小200k?图片压缩技巧来啦

ps是我们常用的一款图像处理软件&#xff0c;有很多功能&#xff0c;可以帮助我们有效地进行图片编辑和创造工作&#xff0c;当然用它也可以压缩图片的大小&#xff0c;如果你还不知道怎么用ps压缩图片大小&#xff0c;不妨继续看下去吧。 方法一&#xff1a;调整图片品质 1、…

单片机第一季:零基础13——AD和DA转换

1&#xff0c;AD转换基本概念 51 单片机系统内部运算时用的全部是数字量&#xff0c;即0 和1&#xff0c;因此对单片机系统而言&#xff0c;无法直接操作模拟量&#xff0c;必须将模拟量转换成数字量。所谓数字量&#xff0c;就是用一系列0 和1 组成的二进制代码表示某个信号大…

解密 AI 客服;在不同硬件设备上运行大型语言模型的可能性

&#x1f989; AI新闻 &#x1f680; 微软必应首席执行官称必应聊天优于OpenAI的GPT-4&#xff0c;但成本更高 摘要&#xff1a;微软必应的首席执行官米哈伊尔・帕拉欣表示&#xff0c;必应聊天表现优于OpenAI的GPT-4&#xff0c;但使用了更高成本的检索增强推理技术。必应聊…

FreeRTOS qemu mps2-an385 bsp 移植制作 :系统启动篇

相关文章 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;环境搭建篇 开发环境 Win10 64位 VS Code&#xff0c;ssh 远程连接 ubuntu VMware Workstation Pro 16 Ubuntu 20.04 FreeRTOSv202212.01&#xff08;备注&#xff1a;可以在 github 获取最新版本&#xff0…

centos 7 安装docker

系统配置&#xff1a; CentOS关闭selinux sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config关闭防火墙(可选)或者放行相应端口 systemctl stop firewalld.service && systemctl disable firewalld.service配置内核IP 转发 net.ipv4.ip_forward1 dock…