日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于DruidStatView监控信息

發布時間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于DruidStatView监控信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、充當數據庫連接池。
2、可以監控數據庫訪問性能
3、獲得SQL執行日志

今天在項目的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>

百度搜索得到一番解釋
Druid內置提供了一個StatViewServlet用于展示Druid的統計信息。
這個StatViewServlet的用途包括:
1.提供監控信息展示的html頁面
2.提供監控信息的JSON API
關于使用StatViewServlet,建議使用druid 0.2.6以上版本。
根據配置中的url-pattern來訪問內置監控頁面,如果是上面的配置,內置監控頁面的首頁是/druid/index.html

如果數據庫連接池使用的是druid,druid是有監控頁面的,通過druid的監控頁面,我們可以檢測每條sql語句的執行時間,執行次數等,還可以看到spring中加載的bean
在數據庫配置文件中添加

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close"><property name="url"><value>${jdbc.url}</value></property><property name="username"><value>${jdbc.username}</value></property><property name="password"><value>${jdbc.password}</value></property><property name="initialSize"><value>${jdbc.initialSize}</value></property><property name="maxActive"><value>${jdbc.maxActive}</value></property><property name="proxyFilters"><list><ref bean="stat-filter" /></list></property><property name="maxWait" value="${jdbc.maxWait}" /><property name="minIdle" value="${jdbc.minIdle}" /><property name="timeBetweenEvictionRunsMillis"value="${jdbc.timeBetweenEvictionRunsMillis}" /><property name="minEvictableIdleTimeMillis"value="${jdbc.minEvictableIdleTimeMillis}" /><property name="validationQuery" value="${jdbc.validationQuery}" /><property name="testWhileIdle" value="${jdbc.testWhileIdle}" /><property name="testOnBorrow" value="${jdbc.testOnBorrow}" /><property name="testOnReturn" value="${jdbc.testOnReturn}" /><property name="maxOpenPreparedStatements"value="${jdbc.maxOpenPreparedStatements}" /><!-- 打開 removeAbandoned 功能 --><property name="removeAbandoned" value="${jdbc.removeAbandoned}" /><!-- 1800 秒,也就是 30 分鐘 --><property name="removeAbandonedTimeout"value="${jdbc.removeAbandonedTimeout}" /><!-- 關閉 abanded 連接時輸出錯誤日志 --><property name="logAbandoned" value="${jdbc.logAbandoned}" /><!-- 打開PSCache,并且指定每個連接上PSCache的大小 --><property name="poolPreparedStatements"value="${jdbc.poolPreparedStatements}" /><property name="maxPoolPreparedStatementPerConnectionSize"value="${jdbc.maxPoolPreparedStatementPerConnectionSize}" /><!--&lt;!&ndash; 超過時間限制是否回收 &ndash;&gt;--><!--<property name="removeAbandoned" value="true" />--><!--&lt;!&ndash; 超時時間;單位為秒。180秒=3分鐘 &ndash;&gt;--><!--<property name="removeAbandonedTimeout" value="180" />--><!--&lt;!&ndash; 關閉abanded連接時輸出錯誤日志 &ndash;&gt;--><!--<property name="logAbandoned" value="true" />--> </bean><bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"><property name="slowSqlMillis" value="10000" /><property name="logSlowSql" value="true" /><property name="mergeSql" value="true" /> </bean><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource"><ref bean="dataSource" /></property> </bean>

db.properties配置文件中

jdbc.url=數據庫地址 jdbc.username=數據庫用戶名 jdbc.password=數據庫密碼 //定義初始連接數 jdbc.initialSize=5//定義最大連接數 jdbc.maxActive=200 //定義最長等待時間 jdbc.maxWait=60000 //最小空閑連接 jdbc.minIdle=10//當timeBetweenEvictionRunsMillis 大于0時 //每過timeBetweenEvictionRunsMillis 時間,就會啟動一個線程, //校驗連接池中閑置時間超過minEvictableIdleTimeMillis的連接對象 jdbc.timeBetweenEvictionRunsMillis=60000jdbc.minEvictableIdleTimeMillis=300000 //給出一條簡單的sql語句進行驗證 jdbc.validationQuery=SELECT 'x' //連接空閑時是否進行有效性驗證(即是否還和數據庫連通的) jdbc.testWhileIdle=true //取得連接時是否進行有效性驗證(即是否還和數據庫連通的 jdbc.testOnBorrow=false //返回連接時是否進行有效性驗證(即是否還和數據庫連通的) jdbc.testOnReturn=false //要啟用PSCache,必須配置大于0,當大于0時,poolPreparedStatements自動觸發修改為true。 //在Druid中,不會存在Oracle下PSCache占用內存過多的問題,可以把這個數值配置大一些,比如說100 jdbc.maxOpenPreparedStatements=20 //打開removeAbandoned功能 jdbc.removeAbandoned=true //1800秒,也就是30分鐘 jdbc.removeAbandonedTimeout=1800 //關閉abanded連接時輸出錯誤日志 jdbc.logAbandoned=true //是否緩存preparedStatement,也就是PSCache。 //PSCache對支持游標的數據庫性能提升巨大,比如說oracle。在mysql下建議關閉 //打開PSCache,并且指定每個連接上PSCache的大小 jdbc.poolPreparedStatements=true jdbc.maxPoolPreparedStatementPerConnectionSize=20 //最小程序池 jdbc.minPoolSize=2 //連接的最大空閑時間 jdbc.maxIdleTime=30000 //隔多少秒檢查所有連接池中的空閑連接,默認為0表示不檢查 jdbc.idleConnectionTestPeriod=100

在pom.xml文件中添加依賴

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.17</version></dependency>

這樣就可以查看監控數據

總結

以上是生活随笔為你收集整理的关于DruidStatView监控信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。