鹏
druid算是比较不错的数据库中间件,主要功能就是提供页面化的监控!
一,druid主要功能如下:
数据源:包括数据库连接地址,最大连接数等数据库链接信息
SQL监控:执行的SQL语句,执行次数,时间,最慢,最大并发等指标;
WEB应用:请求次数,事务提交书,事务回滚数等;
URI监控:请求的URI;
Session监控,Spring监控等!
使用druid,我们能方便的查看,管理数据源涉及到的性能指标,能借此分析数据库性能瓶颈,实现一个高效的应用系统!
二,druid的使用十分方便,下面是我使用springboot+mybatis+druid的配置,只需要引入druid所需要的jar包,同时在配置文件中配置如下,即可使用完美的druid监控!
三,druid源码解读
druid中使用了大量的代理,将sql监控起来,从而获取,统计性能指标!
其中读源码时,有深刻印象的是
1,访问权限控制: AccessController.doPrivileged(new PrivilegedAction() { @Override public Object run() { registerDriver(instance); return null; } }); 2,数据源初始化的时候使用ReentrantLock -->lock.lockInterruptibly(); 加锁,保证线程安全
总而言之,druid算是性能监控很好的数据库中间件,学会使用会对我们的系统大有裨益!
使用springboot+mybatis+druid+javamelody写的一个demo,改天发出来(地铁上没办法)!敬请关注。。
哎哟JAVA不错哦
阿里的 德鲁伊数据库连接池么?