データベース接続プールの構成の問題-アイドルスレッドの監視と回収
4777 ワード
* jdbc pool : lhttp://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html (TheJDBC Connection Poolorg.apache.tomcat.jdbc.pool is a replacement or an alternative to theApache Commons DBCP connection pool. )
*druidの中国語の構成説明(構成項目とdbcpは一致している)は、英語では明らかではありません.」 https://github.com/alibaba/druid/wiki/DruidDataSource属性リストの構成
jdbc接続プールは接続が多すぎて、空きがあるので使用しないで回収する必要があります.これは、データベース接続プールでもjavaスレッドプールでも同じ訴えです.
jdbc接続プールはスレッドプールとは異なり、接続が事前にデータベースによって閉じられる可能性があります.これにより、後続のリクエストが接続を使用するときにエラーが発生したり、再接続によってタイムアウトが発生したりします.
そのため、この問題を解決するには構成が必要です.
*druidの中国語の構成説明(構成項目とdbcpは一致している)は、英語では明らかではありません.」 https://github.com/alibaba/druid/wiki/DruidDataSource属性リストの構成
jdbc接続プールは接続が多すぎて、空きがあるので使用しないで回収する必要があります.これは、データベース接続プールでもjavaスレッドプールでも同じ訴えです.
jdbc接続プールはスレッドプールとは異なり、接続が事前にデータベースによって閉じられる可能性があります.これにより、後続のリクエストが接続を使用するときにエラーが発生したり、再接続によってタイムアウトが発生したりします.
そのため、この問題を解決するには構成が必要です.
<!-- , , --> <property name="timeBetweenEvictionRunsMillis" value="${jdbc.idleConnectionTestPeriod}" />
<!-- , --> <property name="minEvictableIdleTimeMillis" value="${jdbc.maxIdleTime}" />
jdbc.maxIdleTime=14400000 ,minIdle=20
14400000/3600/1000 = 4
15 。
:10 , 20. 20 , 。 20 。
。
druid , 。
{
"url": "jdbc:mysql://xxxx?characterEncoding=UTF-8",
"dbType": "mysql",
"name": "DataSource-4129454",
"activeCount": 0,
"activePeak": 4,
"activePeakTime": "2016-02-16 00:00:03",
"poolingCount": 5,
"poolingPeak": 6,
"poolingPeakTime": "2016-02-15 23:59:25",
"connectCount": 8788,
"closeCount": 8787,
"executeCount": 9757,
"commitCount": 485,
"pstmtCacheHitCount": 9753,
"pstmtCacheMissCount": 4,
"startTransactionCount": 485,
"transactionHistogram": [
0,
485
],
"connectionHoldTimeHistogram": [
8274,
513
],
]
}
{
"url": "jdbc:mysql://xxx?characterEncoding=UTF-8",
"dbType": "mysql",
"name": "DataSource-4129454",
"activeCount": 0,
"activePeak": 4,
"activePeakTime": "2016-02-15 22:00:10",
"poolingCount": 4,
"poolingPeak": 4,
"poolingPeakTime": "2016-02-15 21:59:13",
"connectCount": 9354,
"closeCount": 9354,
"executeCount": 9962,
"errorCount": 1,
"commitCount": 305,
"pstmtCacheHitCount": 9956,
"pstmtCacheMissCount": 6,
"startTransactionCount": 305,
"transactionHistogram": [
0,
305
],
"connectionHoldTimeHistogram": [
8999,
353,
2
]
}