1. 程式人生 > >阿里資料庫監控druid配置

阿里資料庫監控druid配置

maven:

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

<!-- 資料來源 -->

    <context:property-placeholder location="classpath:jdbc.properties" />
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
        <property name="driverClassName" value="${jdbc.account.driverClassName}"/>
        <property name="url" value="${jdbc.account.url}"/>
        <property name="username" value="${jdbc.account.username}"/>
        <property name="password" value="${jdbc.account.password}"/>
        <!--<property name="driverClassName" value="${jdbc.driver}"></property> -->
        <!-- 配置初始化大小、最小、最大 -->
        <property name="initialSize" value="5"/>
        <!-- 連線池中最少空閒maxIdle個連線 -->
        <property name="minIdle" value="5"/>
        <!-- 連線池啟用的最大資料庫連線總數。設為0表示無限制 -->
        <property name="maxActive" value="300"/>
        <!-- 最大建立連線等待時間,單位為 ms,如果超過此時間將接到異常。設為-1表示無限制 -->
        <property name="maxWait" value="60000"/>
        <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <!-- 配置連線池中連線可空閒的時間(針對連線池中的連線物件.空閒超過這個時間則斷開,直到連線池中的連線數到minIdle為止),單位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000"/>
        <!-- 用來檢測連線是否有效的sql,要求是一個查詢語句 -->
        <property name="validationQuery" value="SELECT 'x' FROM DUAL"/>
        <!-- 建議配置為true,不影響效能,並且保證安全性 -->
        <property name="testWhileIdle" value="true"/>
        <!-- 申請連線時執行validationQuery檢測連線是否有效,做了這個配置會降低效能 -->
        <property name="testOnBorrow" value="false"/>
        <!-- 歸還連線時執行validationQuery檢測連線是否有效,做了這個配置會降低效能 -->
        <property name="testOnReturn" value="false"/>
        <!-- 開啟PSCache,並且指定每個連線上PSCache的大小(Oracle或mysql5.5及以上使用) -->
        <property name="poolPreparedStatements" value="true"/>
        <property name="maxPoolPreparedStatementPerConnectionSize" value="20"/>
        <!-- 配置監控統計攔截的filters -->
        <property name="filters" value="stat"/>
        <!-- 配置關閉長時間不使用的連線 -->
        <!-- 是否清理removeAbandonedTimeout秒沒有使用的活動連線,清理後並沒有放回連線池(針對未被close的活動連線) -->
        <property name="removeAbandoned" value="true"/>
        <!-- 活動連線的最大空閒時間,1800秒,也就是30分鐘 -->
        <property name="removeAbandonedTimeout" value="1800"/>
        <!-- 連線池收回空閒的活動連線時是否列印訊息 -->
        <property name="logAbandoned" value="true"/>

    </bean>

web.xml 中配置檢視頁面

<!-- 資料庫監控 -->
<servlet>
<servlet-name>DruidStatView </servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet </servlet-class>
<init-param>
<param-name>allow</param-name>
<param-value>192.168.98.125,127.0.0.1</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>DruidStatView </servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>

訪問地址:druid/index.html

原文地址:http://api.crap.cn/index.do#/top/webPage/detail/ARTICLE/9c27e62f-1c95-4428-af75-48f3b75d3281