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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Druid 配置_StatFilter

發布時間:2024/9/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Druid 配置_StatFilter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Druid內置提供一個StatFilter,用于統計監控信息。

1. 別名配置

StatFilter的別名是stat,這個別名映射配置信息保存在druid-xxx.jar!/META-INF/druid-filter.properties。

在spring中使用別名配置方式如下:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">... ...<property name="filters" value="stat" /></bean>

2. 組合配置

StatFilter可以和其他的Filter配置使用,比如:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">... ...<property name="filters" value="stat,log4j" /></bean>

在上面的配置中,StatFilter和Log4jFilter組合使用。

3. 通過proxyFilters屬性配置

別名配置是通過filters屬性配置的,filters屬性的類型是String。如果需要通過bean的方式配置,使用proxyFilters屬性。

<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"><property name="slowSqlMillis" value="10000" /><property name="logSlowSql" value="true" /> </bean> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close">... ...<property name="filters" value="log4j" /><property name="proxyFilters"><list><ref bean="stat-filter" /></list></property> </bean>

其中filters和proxyFilters屬性是組合關系的,不是替換的,在上面的配置中,dataSource有了兩個Filter,StatFilter和Log4jFilter。

4. SQL合并配置

當你程序中存在沒有參數化的sql執行時,sql統計的效果會不好。比如:

select * from t where id = 1 select * from t where id = 2 select * from t where id = 3

在統計中,顯示為3條sql,這不是我們希望要的效果。StatFilter提供合并的功能,能夠將這3個SQL合并為如下的SQL

select * from t where id = ?

配置StatFilter的mergeSql屬性

<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"><property name="mergeSql" value="true" /> </bean> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init" destroy-method="close">... ...<property name="proxyFilters"><list><ref bean="stat-filter" /></list></property> </bean>

StatFilter支持一種簡化配置方式,和上面的配置等同的。如下:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">... ...<property name="filters" value="mergeStat" /></bean>

mergeStat是的MergeStatFilter縮寫,我們看MergeStatFilter的實現:

public class MergeStatFilter extends StatFilter {public MergeStatFilter() {super.setMergeSql(true);}}

從實現代碼來看,僅僅是一個mergeSql的缺省值。

也可以通過connectProperties屬性來打開mergeSql功能,例如:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">... ...<property name="filters" value="stat" /><property name="connectionProperties" value="druid.stat.mergeSql=true" /></bean>

或者通過增加JVM的參數配置:

-Ddruid.stat.mergeSql=true

4.1 合并SQL對tddl的支持

在druid-0.2.17版本之后,sql合并支持tddl,能夠對分表進行合并。

5. 慢SQL記錄

StatFilter屬性slowSqlMillis用來配置SQL慢的標準,執行時間超過slowSqlMillis的就是慢。slowSqlMillis的缺省值為3000,也就是3秒。

<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"><property name="slowSqlMillis" value="10000" /><property name="logSlowSql" value="true" /> </bean>

在上面的配置中,slowSqlMillis被修改為10秒,并且通過日志輸出執行慢的SQL。

slowSqlMillis屬性也可以通過connectProperties來配置,例如:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">... ...<property name="filters" value="stat" /><property name="connectionProperties" value="druid.stat.slowSqlMillis=5000" /></bean>

6. 合并多個DruidDataSource的監控數據

缺省多個DruidDataSource的監控數據是各自獨立的,在Druid-0.2.17版本之后,支持配置公用監控數據,配置參數為useGloalDataSourceStat。例如:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">... ...<property name="useGlobalDataSourceStat" value="true" /></bean>

或者通過jvm啟動參數來指定,例如:

-Ddruid.useGlobalDataSourceStat=true

全部使用jvm啟動參數來配置,可以這樣:

-Ddruid.filters=mergeStat -Ddruid.useGlobalDataSourceStat=true


https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter

總結

以上是生活随笔為你收集整理的Druid 配置_StatFilter的全部內容,希望文章能夠幫你解決所遇到的問題。

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