Druid基本配置及内置监控使用_动力节点Java学院整理

yizhihongxing

Druid基本配置及内置监控使用攻略

Druid是一个为数据库设计的连接池、SQL执行监控、分析工具。它使用Java的proxy技术来实现在JDBC层的透明处理和统计数据的展现。在使用前,需要进行一些基本配置。

基本配置

  1. 在项目的pom.xml中,引入Druid的依赖:
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>
  1. 在Spring配置文件中,定义Druid的数据源:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <property name="initialSize" value="5" />
    <property name="maxActive" value="50" />
    <property name="minIdle" value="5" />
    <property name="maxWait" value="60000" />
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <property name="minEvictableIdleTimeMillis" value="300000" />
    <property name="validationQuery" value="select 'x'" />
    <property name="testWhileIdle" value="true" />
    <property name="testOnBorrow" value="false" />
    <property name="testOnReturn" value="false" />
    <property name="poolPreparedStatements" value="true" />
    <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
    <property name="filters" value="stat,wall,log4j" />
    <property name="proxyFilters">
        <list>
            <bean class="com.alibaba.druid.filter.stat.StatFilter" init-method="init" destroy-method="close">
                <property name="logSlowSql" value="true" />
                <property name="slowSqlMillis" value="2000" />
            </bean>
        </list>
    </property>
</bean>
  1. 在web.xml中,配置DruidServlet和DruidFilter:
<servlet>
    <servlet-name>DruidServlet</servlet-name>
    <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
    <init-param>
        <param-name>resetEnable</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>loginUsername</param-name>
        <param-value>admin</param-value>
    </init-param>
    <init-param>
        <param-name>loginPassword</param-name>
        <param-value>admin</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>DruidServlet</servlet-name>
    <url-pattern>/druid/*</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>DruidFilter</filter-name>
    <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
    <init-param>
        <param-name>exclusions</param-name>
        <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>DruidFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

内置监控使用

Druid提供内置的监控功能,我们只需要配置好Druid,并访问以下地址即可:

http://localhost:8080/druid/index.html

在页面上,我们可以查看连接池的情况、SQL执行情况等信息。

示例说明1

在Druid的配置文件中,我们配置了maxActive为50,表示该连接池最大同时连接数为50。我们可以在内置监控页面上,查看当前连接池的情况。当连接池中连接数过多时,需要调整maxActive的值。

示例说明2

Druid的内置监控还可以查看SQL的执行情况。在Druid的配置文件中,我们配置了logSlowSql为true,表示打印执行时间大于2秒的SQL。我们可以在内置监控页面的Sql监控 tab 页上,查看SQL的执行情况。当SQL执行时间过长时,需要对SQL进行优化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Druid基本配置及内置监控使用_动力节点Java学院整理 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • VS2008连接SQL Server数据库文件出错的解决方法

    VS2008连接SQL Server数据库文件出错的解决方法 问题描述 在使用VS2008连接SQL Server数据库文件时,可能会出现以下错误提示: "无法加载文件或程序集’Microsoft.SqlServer.Management.Sdk.Sfc,版本=10.0.0.0 解决方法 以下是解决VS2008连接SQL Server数据库文件出错…

    database 2023年5月21日
    00
  • php连接oracle数据库的核心步骤

    连接 Oracle 数据库是 PHP 开发过程中常用的操作之一。以下是连接 Oracle 数据库的核心步骤: 安装 Oracle 客户端 要连接 Oracle 数据库,首先需要安装 Oracle 客户端,它提供了连接 Oracle 数据库所需的驱动和文件。可以从 Oracle 官网上下载和安装最新版本客户端。 开启 Oracle 扩展 在连接 Oracle …

    database 2023年5月22日
    00
  • SQL 查找只存在于一个表中的数据

    下面是SQL查找只存在于一个表中的数据的完整攻略,包括两条实例。 1. 使用NOT IN子查询 使用NOT IN子查询可以通过比较两个表中某个字段的值,来查找只存在于一个表中的数据。具体的操作步骤如下: 步骤1:查找存在于表A中的数据,但不存在于表B中的数据 SELECT * FROM tableA WHERE tableA.columnA NOT IN (…

    database 2023年3月27日
    00
  • java实现AES 32位加密解密的方案

    针对“java实现AES 32位加密解密的方案”的完整攻略,我将分为以下几个部分进行讲解: 什么是AES加密 Java如何实现AES加密 示例1:AES加密32位字符串 示例2:AES解密32位字符串 什么是AES加密 AES (Advanced Encryption Standard)是一种高级加密标准,是目前最常见的加密算法之一。AES加密有多个密钥长度…

    database 2023年5月21日
    00
  • Oracle中TO_DATE格式介绍

    Oracle中TO_DATE格式介绍 在Oracle中,使用TO_DATE函数可以将一个字符串转换为日期类型的数据。但是,在使用TO_DATE函数时,需要指定字符串的格式,以便Oracle能够正确地将字符串转换为日期类型的数据。下面是一些常见的字符串格式及其对应的含义: 格式 含义 YYYY 四位数的年份 YY 两位数的年份 MM 月份(01到12) MON…

    database 2023年5月21日
    00
  • Linux下安装PHP curl扩展的方法详解

    我们来详细讲解在Linux下安装PHP curl扩展的方法。 简介 PHP的curl扩展是一个用于与URL进行通信的工具,它支持HTTP、HTTPS、FTP、SMTP等协议,并且可以进行表单提交、文件上传等操作。curl是一个已经被广泛使用的扩展,很多PHP程序都依赖于它,因此在服务器安装PHP时,通常都会自带curl扩展。 然而,有时我们会在一些老版本的系…

    database 2023年5月22日
    00
  • Teradata和Cassandra的区别

    Teradata和Cassandra都是流行的分布式数据库管理系统,两者有很多相似之处,但是也有一些重要的区别。下面详细讲解Teradata和Cassandra的区别。 Teradata和Cassandra的概述 Teradata Teradata是一个关系型数据库管理系统,最初设计用于数据仓库和商业智能应用。它是一个成熟的解决方案,具有广泛的功能,例如分布…

    database 2023年3月27日
    00
  • 如何在MySQL中设置外键约束以及外键的作用

    1.外键的作用,主要有两个:   一个是让数据库自己通过外键来保证数据的完整性和一致性   一个就是能够增加ER图的可读性 2.外键的配置    1)先创建一个主表,代码如下:    #创建表student,并添加各种约束   create table student ( id int primary key , #主键约束 name varchar(20)…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部