數據源優化配置

如果使用apache dbcp時:

<!—建議是一下儘量一樣,沒必要頻繁的過期空閒連接(除非比如連接池資源緊缺,可以考慮) -->
<property name="maxIdle" value="80" />
<property name="minIdle" value="80" />
<property name="initialSize" value="80"/>
<property name="maxActive" value="80" />

<!—這個是連接池等待時間,也不要太大,比如設置在500毫秒 -->
<property name="maxWait" value="500" />

<!-- 當連接空閒時是否測試 -->
<property name="testWhileIdle" value="false"></property>
<!-- 移除無引用連接(那些沒有close的)此處需要保證程序中連接一定釋放 -->

<property name="removeAbandoned" value="false"></property>
<property name="removeAbandonedTimeout" value="300000"></property>
<!-- 一個連接空閒多久 remove from pool -->
<property name="minEvictableIdleTimeMillis" value="-1" />
<!-- 過期時 循環測試多少次(0 就相當於關閉定時器) -->
<property name="numTestsPerEvictionRun" value="0" />
<!-- expire connection 定時器 週期 -->
<property name="timeBetweenEvictionRunsMillis" value="120000" />

如果是mysql庫,可能存在8小時問題,可以考慮開啓過期定時器(numTestsPerEvictionRun=1),定期過期一下連接,timeBetweenEvictionRunsMillis時間可以設置在8小時左右.

另外可以通過如下配置來配置socket連接/讀超時:

<property name="connectionProperties"

value="oracle.net.CONNECT_TIMEOUT=2000;oracle.jdbc.ReadTimeout=2000"></property>

(此處的連接和讀取超時時間,請根據自己業務來考慮大小)

具體配置請參考:http://www.importnew.com/2466.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章