Druid数据库连接池说明_第1页
Druid数据库连接池说明_第2页
Druid数据库连接池说明_第3页
Druid数据库连接池说明_第4页
Druid数据库连接池说明_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Druid数据库连接池Druid简介Druid是阿里巴巴的一个开源数据库连接池,基于Apache2.0协议,可以免费自由使用。但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQLParser。Druid能够提供强大的监控和扩展功能。但Druid只支持JDK6以上版本,不支持JDK1.4和JDK5.0bDruid下载:maven中央仓库:/maven2/com/alibaba/druid/FAQ源代码下载地址:Druid支持的数据库Druid支持所有JDBC兼容的数据库,包括Oracle、MySql

2、、Derby、Postgresql、SQLServer、H2等等。Druid针对Oracle和MySql做了特别优化,比如Oracle的PSCache内存占用优化,MySql的ping检测优化。Druid基本配置Druid数据库连接池的配置与传统的DBCPC3PRProxool等数据连接池的配置基本相同,下面以使用了Spring的项目为例配置Druid数据库连接池。1 .在上述的Druid下载路径中下载最新的Druidjar包,目前最新的为druid-1.0.2.jar2 .打开项目中的spring配置文件applicationContext.xml文件,加入如下配置<!-配置Druid

3、连接池-><beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"><!-基本的url、user、password配置-><propertyname="url"value="jdbc:mysql:/localhost:3306/cendev?useUnicode=true&characte

4、rEncoding=utf8"></property><propertyname="username"value="root"></property><propertyname="password"value="mysql"></property><!-配置大小、最大、最小、超时时间-><propertyname="maxActive"value="100"/><prop

5、ertyname="initialSize"value="1"/><propertyname="maxWait"value="3600000"/><propertyname="minIdle"value="30"/><!-配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-><propertyname="timeBetweenEvictionRunsMillis"value="60000

6、"/><!-配置一个连接在池中最小生存的时间,单位是毫秒-><propertyname="minEvictableIdleTimeMillis"value="300000"/><propertyname="validationQuery"value="selectCURRENT_DATE"/><propertyname="testWhileIdle"value="true"/><propertyname=&

7、quot;testOnBorrow"value="false"/><propertyname="testOnReturn"value="false"/><!-打开PSCache,并且指定每个连接上PSCache的大小-><propertyname="poolPreparedStatements"value="true"/><propertyname="maxPoolPreparedStatementPerConnectionSi

8、ze"value="20"/><!-配置防御SQL注入的filters、监控统计拦截的filters-><propertyname="filters"value="wall,stat"/><!-连接泄露(未关闭)检测removeAbandoned开启会对性能造成影响,怀疑有泄露情况再打开-><propertyname="removeAbandoned"value="true"></property><!-超时关闭时

9、间1800秒,即30分钟。连接30分钟仍未关闭,则会被收回-><propertyname="removeAbandonedTimeout"value="1800"></property></bean><!-配置Druid连接池结束->3 .上面配置中的propertyname="filters"value="wall,stat"/>该配置是配置Druid的防御sql注入的filter和监控统计拦截的filtero开启监控拦截另外还需在项目的web.xml中

10、配置相应的Servlet。请在web.xml中加入如下配置。<!-配置druid连接池监控-><servlet><servlet-class>com.alibaba.druid.support.http.StatViewServlet/servlet-class</servlet><servlet-mapping<servlet-name>DruidStatView</servlet-name<url-pattern>/druid/*</url-pattern</servlet-mapping4 .

11、添加完上述配置Druid的基本配置即可,重新启动项目,输入http:/localhost:端口/应用名称/druid/index.html即可打开Druid内置的监控系统。例如:http:/localhost:8080/pm/druid/index.html5 .Druid内置的监控系统页面如下图:DruidMonitor”行solars对防北川就皮同晒也拄5ff沟6灰撞sprngai胃jsom1ApiStatIndex皆看JSONAPIgswijdbcr.dbrJdtKOdbd>Tffl5eu*aibaMmod;MgdtDnrarawinrysqlpdbcOiwcrEmW3gUnuit

12、f清1'IUfl0Ju?哮小ivnt考*JavjHnltSpor?nMCClwrl¥MM1r幄期&8ml的处他脚Cl_II"l-lh1-1.3必-¥仃1。_11:l1:.帕M同通过上述配置后可以在此监控系统中查看的包括首页、数据源、SQL监控、SQL防火墙(SQL防火墙的filter即wall)、session监控。至于Web应用、URI监控、Spring监控等暂不能查看,加入后续的配置即可。Druid内置监控中的WEB关联监控配置使用内置监控中的WEB关联监控,需要在项目的web.xml文件中加入如下配置:<!-webURI监控配置->

13、;<filter></filter-cl<filter-name>DruidWebStatFilter</filter-name><filter-class>com.alibaba.druid.support.http.WebStatFilterass><init-param><param-value>*.js,*gif,*jpg,*bmp,*png,*css,*ico,*.swf,/druid/*</param-value</init-param</filter><filter-

14、mapping<filter-name<url-pattern</filter-mapping欲了解更多>>>>DruidWebStatFilter>/*</url-pattern>Druid关于</filter-nameWEB监控配置请移步%BD%AEWebStatFilterDruid内置监控中的Spring关联监控配置使用内置监控中的Spring关联监控,需要在项目中的spring配置文件applicationContext.xml中加入如下配置:<!-配置Druid的Spring拦截器-><beanid

15、="druid-stat-interceptor"class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"></bean><beanid="druid-stat-pointcut"class="org.springframework.aop.support.JdkRegexpMethodPointcut"scope="prototype"><propertyname="pat

16、terns"><list><value>com.censoft.app.controller.*</value><value>com.censoft.app.dao.*</value><value>com.censoft.app.service.*</value></list></property></bean><aop:config><aop:advisoradvice-ref="druid-stat-interceptor&qu

17、ot;pointcut-ref="druid-stat-pointcut"/></aop:config><list>中配置的为需要监控的包路径。欲了解更多关于Druid的Spring监控配置请移步:85%B3%E8%81%94%E7%9B%91%E6%8E%A7%E9%85%8D%E7%BD%AEDruid内置监控系统简单介绍例如:输入http:/localhost:端口/应用名称/druid/index.html即可打开Druid内置的监控系统http:localhost:8080/pm/druid/index.html下面就Druid监控系

18、统中的各功能模块简单介绍一下。首页DruidMonitof若企触型需song虺导ql时对自阳吗疝期uri之挂给即监标中ms滥法jmmapiStatIndex件看JSONAPI国本Ig.2加1鸵nJdbcMbcJdbm&Dd阳corn-dinjkirrm*M4dkDr吊eiconi窿l口南已j-DHitflbAMiMki慰31VOniiklDiluef名西施许tme用"的堇I£0_13JviriiMfcJavaHorgnrtnraidisnlCl»lgl4triDiSff中的优历Mm0MimaircFil”以眄*11处芦鼻4川2O14-O2-1B694015

19、展示Druid版本、jdk版本、重置次数、启动时间等基本信息。数据源DruidMonitor=比就格#3aLigi?sau和癌帏侬1sum跟慢尔印(瞳瞳g*陋DataSourceStaiListViewJSONAPID4H向明*七通旧17Bb«IcInfoForDotaSourc«-2319»21TVIewJSONARrwl尼毛*工用±fl用二七.祚鞠星MfaxexmklwimmHHinod廿=1)"工口1MBdETEHCDd0=UM3-it.晒吊'她t受里rwd何信:老uig七a4重h.mgft*冬g.d'ud时*"

20、MiWiMB词Hdrukl*1*用1如)T卷r'益图HEMFfce:否iffi'lt右仁.叼mi,wrwtiX雷?14gfT翱日RteWKCffiS也相Sh&M现程M府流笆色将.匕在i强工时+世.IHfcfL并大小1不把。起才白洋的打"祸】JQ!数据源菜单显示数据库连接池的基本信息,如连接地址、连接类型、最大连接数、最小连接数、初始连接等信息。诂Z户生口田传麟立启的1«宫力怵逢除阍翩可通过逻辑连接打开次数、逻辑连接关闭次数来判断系统中是否存在有连接未关闭的情况(正常情况下打开次数和关闭次数应该一致)SQL监控Druid则M01由f»Kff酱

21、3倡Rj.ywftfle耳5,Ea0l>B|CPSQLStatViAWJSONAPI.KM*HIT*班EMHIdu4swFnatwHARJFM1图Fft*HM*陪用谢号串43-|srafrfl*I-D1SELECT-u.-umta.iWHM21-4TD<iniDiaocamIKDXiaDllOElBM/乱口0|dW.DHI1MHClECtqy-,«SAimw”口Rm#上。鼻。小slElCrCfiJULf<FfaWMl:1*31ptllfcM皿血就用SQL监控显示系统已执行过的每条SQL语句的执行情况。通过执行数、执行时间、最慢时间、事务中、错误数、最大并发、执行时间

22、分布等统计维度来展现。需要说明的有:执行数:本条sql语句已执行的次数执行时间:本条sql语句累计执行时间(单位:毫秒)最慢:本条sql语句执行最慢一次的耗时(单位:毫秒)执行时间分布【】:这8个-分别代表8个耗时区间的次数,从左至右依次是:0-1毫秒次数、1-10毫秒次数、10-100毫秒次数、100-1000毫秒次数、1-10秒次数、10-100秒次数、100-1000秒次数、大于1000秒次数。如下图中的这一条数据:执行时间分布快行,R5时分布读取行分布I-111OJD.DAO,0,0,010,0.0.0,0,0,0,00,10,0,0,0,0可以发现:执行时间上本条sql语句有10次是

23、在1-10毫秒内就执行完成,其他耗时区间的执行次数都为0.执行+RS时分布与此同理。通过耗时区间,可以发现SQL执行的效率情况,可以反映出数据库或应用是否稳定。SQL防火墙出口.3哗f5百加率址白:七耶94映ft%SrtHiliMW!*hJomhPEmtaiajiTz切*CnwmflH"j,i|Aw*Crai4Renmc期sliJfnil-Ih*120jvi«.im.muiWIW48I?OlAAHpt*aipffljjHtaidM12风302t妣inifto.Q'NmiEa?u3,M,4i”FULMGH«5a爸也上山频FJR1.*.101FVjn*KIMm

24、Ejm.t.mj«南&调册统HWwrtiClwiw4UMCHtJtJ1M>gafhMB944np*制LW£iU42pVMM*MJN»g1NuSQL琳期鳏计,白名单川心F*mwi*狗hIwcicWWififllltffl.HHW«MH上一¥_-3*VMririhMC3llMM_a«iaT1ttLECTCQWnWri*F|%MMiiirCiVwuKWfeeHER捌ECT8vmMH*用3二mmMai府国M.<1)=»AfCkciiww*Jwe=*HDk¥*fl_X='*gi?4«=尊

25、MJpcoi5hp»eB_fa(M:7ira9ux:«w_«iy='WE:p酊4*lErtwM.riA-M4SJUEElCOdHTrFASMnFROMpn.CKtwiKWKRE(KSEIdECTCDlMTCjzAmFNCHf«_uaxwpcWEHEFU|_J14i/尚鸣Ki>AN(牌fk«rmvjHia二aEpr*eari9vwjnh-tMSQL砧神蚂H-黑名刺mWL*KFtB能眄忖通SQL防火墙分防御统计、表访问统计、函数调用统计、SQL防御统计-白名单、SQL防御统计-黑名单这几项。其中若是涉嫌SQL注入的SQL语句将被拦截,

26、出现在SQL防御统计-黑名单中。详细的SQL防御的wallfilte配置请移步:WEB应用DoildMcntof.nmML&t删je托ut胃e喷向川歪曲却/皿/*啊中海hmmfWebAppStatListViewJSONAPI!W(LK*A3事.金MNfarldftMLilMTI方Q时awta2Hi1!|CVtHl1ti昆山9。必13,!_凶值iIi01iLlhuC<MItOHrwtiUK.wM1>IUlWDtdLXUMin叫i-imvwUpOMor-«iWeb应用主要统计本应用的并发、请求、事务提交、事务回滚等信息,另外统计了本应用在各操作系统上、各浏览器上的访

27、问次数。URI监控F*由|EDruidMonlpfra前Bt左国£4的t醒0*厘南ir匕eihr。jbcrm*WebURIStatViewJSONAPI篁kfg大片JWftF值同*用fWWKWiMH*£.dAAR.1加31能启工12KMAeiiEltjilkUiniENTkWiHfnMHZCiB22±1WHK*«ER»."_-1Q。口UOQiR.MdsJWK-aiiuwciMMMtAiriACuosrrwraMiaGi9V1-皿AbWMMM潴LMWAil#&*fr21K心WGiaHChHLKlIT售*1口型加|m0直Hiiun

28、ai.pa1wrtiwjInMjnp.r4-1MJPWn<i*Hdl4nunqpp/ifMW>W>tP4Ap.4LBl4|RIg.MU炳.wnHvn4Mt(>M*0lMP¥b>T>MtESbEJ34IURI监控统计了应用中各url的访问次数、请求时间、并发数等信息。Session监控DruidMonaor11*5赳成二响websessionstatviewJSONAPIM事旧孑MC/MGtFMQFFKWfMMQOB,上个时蕾餐单添值IMHN苑屿*Jr#必隶后JdtdMHflttWFBfr炳*ItA,工3141tilm2hiillIMi九4CMMiI

29、k上gmqHH事MITt旃他Session监控显示应用中session的请求时间、请求次数、最大并发等数据。Spring监控CKukdMonitor身eNWVWLft!£用n的*必由IUHWtmu*企jseeiSpringStatViewJSONAPI13万。用*.AMV9哥fflM,wt*mdtFWHYU!9C9W#fS|ifflCT阳河EE?mqnim7fFPBW.1QDJU1*CMC*卸4#fi1i4Pl$|£*.*uhrf#财ii幽-i叫CwwtwiroijHiB*1iR*LII*U.4|1MB*MLXmiiflfUM3,t,AWJl,!*wcemMi.tspter

30、McpAurncVipw.4源1曲,*fancaniiAMD3fZoiaurfln<IMDu*MhpskT91RMMfmdiwAtivwNW知Etrri<xif曲Spring监控显示针对配置中需要监控的各方法的执行数、执行时间、最大并发、读取行数等信息。Druid数据库连接池如何解决连接泄露对于项目中可能存在的连接泄露(连接未关闭)的问,Druid提供了如下办法:1.可通过“数据源”监控中的“活跃连接堆栈查看”这里显示的是未关闭的数据库连接堆栈信息,可通过此堆栈信息来分析未关闭的数据库连接所在位置,从而手动关闭,解决问题。点击ViewJSONAPI可查看堆栈信息,如下图:(wRes

31、ultCode*:1,Content*:.一“可以看到目前并未有发现未关闭连接的情况。再看下图:X"Ontcsl'-/jera.JjuitIbz«Ed.tttSrticilriiCEJan:jUBI?'jiub.«ilJk»faL6工gW.gel£ai«3ioe0Lrect*tlDftLcnEe.jam2J喳iik但,fill*iHjlrrtflMRT.'L1544”;jinfilterH通明,uiTi3tstFiiterJena;网1:SKoaLdlkHbadrdiLfiirer.FlIttrCbalnH4p

32、LI5iItcrChaLnJqpiLjwaMGMJwa-BJabt44.4rua4.fslifrFiltir'UHpifrJB%*SouFE4_f«i<4nnt<iaceIfjHe?idHpierjiif:£;*'*目1&4.曲3&fhli<r.fsh'trCbtaDtvL>4itElhcrCbnEklel.j-m'i-Jt40'i'meca.i.UbttbL,iruidpgLhni凰Br/Gwmfe-TC-onne-TciniQnjdEkTaburce.ec>hltl1baib&

33、amp;ceFtd.paclIhuii&i*SDurceflK-TC3entcTlca4Dr-MKdfiBtHXnlrcv:JwViii.BT*1acehl!LbaHidnk<Lpan_Dnci.£taljiLj-iMic_pitCeesactIdeiDtF-jadCKtavrcji.1ntt_afiKhB.jhjllai-l_|if-_Jxf5Eiif34HE«rt_jvf.ja.¥a.fib-Xemt,e匚be.WDprr.eb”msrnriwliitplspfinrj<ra;/0)aJbtbmeeIMktilLffiriServl-Fii

34、MnrsceIIfiTp5wvJ.fi:uw:烟1xkts.,aFpriiFtz'lLjsp5oT-lrlKraETHrMrac?JSnTlftEr-sFMri3HJottssmcscim2;p«t.3fric<j5pFil-j5>5tiTrt.3DC1.1MuteM*P*r>e-flrvlttIvScnltr-M-rvlti噌cl,wrvice'13?!p5trv.ti1J*'|-Miirywi-hr.31工口二5L_K-nrc.即:lcxIxzdFjleeutCHu.£ex_anicrEjclDcfiterLLppLLcat&#

35、163;=nF£l'iC3rrbiX3a.,Jc.to.ZSDrraK-osslcIue.CEalisa.care-licaz.ldsFitcrCixcaa.三OilierJfkcttiwPilieKhhm.jm;!.1acmltlilHA4dntd.-wwrchtepVefeScHPiherd*Wt总工巾曰t工Pili社Jav1241bob1.pacLfl.raialvni.cm-b,>nt-icbJ1'!IiirrCln.EnanrdruJHeira3bflrr!AflEcntxanFiliMr£ka:u.jja-njB.:1295bi.ulurK

36、ralann.affiELrafa1fcririrOEKan.daFiItirr!A*piHftfIvafilteiChhlfli,icmwen3>TW*QVF>aitwe*tdieaifliter.aliiCwtcit(SllEtttaftflkcrDJt*i:Llfl>、国事Miura知ngKww晶值除”darili-eri3si-tleBWilirra:rr)"A#ra-tiKlig.cert.M¥i4«TUr?33ctTCh&b&UTgisaiKrsilicTnrBtiprfiltFrChfcimijTt:235!里。e1

37、09-catil11%cericstionFiLtfrCbsin-ItfrAm>lica1icnrFaErOflir-3b<:2E百dM«V.fiLi«j.'iBHEiwhceiiiftifLLiar.ieFi3"'BaarMiiih«r.JavtiIt:wf.irjrMIri*i«rkH«kfiLttr.DmhIR«rLOteccPt-rRiefiKsvFllRer.jii107.11inTH4Jicar-c«cj1lui-corepldcaraiMf,Lc«rCbBibiosfmjaiDirilr>criDcFliii-rChain.工唱小:38)"AWit_*j>i£bt.u.taJ.inLcm.Ape

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论