如何使用Druid监控sql

如何使用Druid监控sql,第1张

Druild包获取

Maven工程中添加druid依赖包:

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.26</version>

</dependency>

Druid使用

替换C3P0连接池

Web工程原先采用C3P0连接池的配置:

<!-- 配置数据源-C3PO -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"

destroy-method="close">

<property name="driverClass" value="${jdbc.driverClassName}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="user" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

<property name="autoCommitOnClose" value="false" />

<property name="maxIdleTime" value="${cpool.maxIdleTime}" />

<property name="checkoutTimeout" value="${cpool.checkoutTimeout}" />

<property name="initialPoolSize" value="${cpool.minPoolSize}" />

<property name="minPoolSize" value="${cpool.minPoolSize}" />

<property name="maxPoolSize" value="${cpool.maxPoolSize}" />

<property name="acquireIncrement" value="${cpool.acquireIncrement}" />

<property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}" />

</bean>

改成Druid连接池DruidDataSource

<!-- 配置数据源-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="maxActive" value="20" />

<property name="initialSize" value="1" />

<property name="maxWait" value="60000" />

<property name="minIdle" value="1" />

<property name="timeBetweenEvictionRunsMillis" value="60000" />

<property name="minEvictableIdleTimeMillis" value="300000" />

<property name="testWhileIdle" value="true" />

<property name="testOnBorrow" value="false" />

<property name="testOnReturn" value="false" />

<property name="poolPreparedStatements" value="true" />

<property name="maxOpenPreparedStatements" value="20" />

</bean>

StatViewServlet配置

Druid内置提供了一个StatViewServlet用于展示Druid的统计信息。

这个StatViewServlet的用途包括:

提供监控信息展示的html页面

提供监控信息的JSON API

StatViewServlet是一个标准的javax.servlet.http.HttpServlet,需要配置在你web应用中的WEB-INF/web.xml中。

<servlet>

<servlet-name>DruidStatView</servlet-name>

<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>DruidStatView</servlet-name>

<url-pattern>/druid/*</url-pattern>

</servlet-mapping>

配置完之后,可以通过如下格式的地址在浏览器访问查看。

http:/<host>:<port>/<context>/druid

执行时间是指对应的SQL语句执行的总时间

最慢是指执行最慢的一次时间

事务中不清楚,但应该和数据是否完成归档校验有关

执行时间分布的具体的意思可以在“数据源”页面中看到,各系统根据配置的不同有不同的定义,例如我这边的定义就是:

事务运行时间分布,分布区间为[0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9660626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存