關於mysql數據庫配置和java針對數據庫配置詳解

查看mysql鏈接池命令:SHOW VARIABLES LIKE '%max_connections%';mysql

查看mysql timeout命令:SHOW VARIABLES LIKE '%timeout%'sql

 

Mysql服務器默認的「wait_timeout」是8小時【也就是默認的值默認是28800秒】,也就是說一個connection空閒超過8個小時,Mysql將自動斷開該connection,通俗的講就是一個鏈接在8小時內沒有活動,就會自動斷開該鏈接。
wait timeout的值能夠設定,但最多隻能是2147483,不能再大了。也就是約24.85天
MySQL經過my.ini 在
# The TCP/IP Port the MySQL Server will listen on
port=3306
下面添加數據庫

 

DBCP配置說明:
initialSize=10   鏈接池啓動時建立的初始化鏈接數量(默認值爲0)
minIdle=5  minIdle: 最小空閒鏈接,低於這個數量會被建立新的鏈接;該參數越接近maxIdle,性能越好,由於鏈接的建立和銷燬,都是須要消耗資源的;可是不能太大,由於在機器很空閒的時候,也會建立低於minidle個數的鏈接
maxIdle=30 最大空閒數,數據庫鏈接的最大空閒時間。超過空閒時間,數據庫鏈接將被標記爲不可用,而後被釋放。設爲0表示無限制。maxIdle不能設置過小,由於假如在高負載的狀況下,鏈接的打開時間比關閉的時間快,會引發鏈接池中idle的個數 上升超過maxIdle,而形成頻繁的鏈接銷燬和建立,
maxActive=200 最大鏈接數量  這個值通常設成與用戶併發數相同
maxWait=60000 最大等待時間,當沒有可用鏈接時,鏈接池等待鏈接釋放的最大時間,超過該時間限制會拋出異常,若是設置-1表示無限等待(默認爲無限,調整爲60000ms,避免因線程池不夠用,而致使請求被無限制掛起)
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
      timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis一塊兒使用,每 timeBetweenEvictionRunsMillis毫秒秒檢查一次鏈接池中空閒的鏈接,把空閒時間超過 minEvictableIdleTimeMillis毫秒的鏈接斷開,直到鏈接池中的鏈接數到minIdle爲止 主要把這兩個參數加上就好。
    mysql配置中的wait_timeout值必定要大於等於鏈接池的 minEvictableIdleTimeMillis值,不然mysql會在wait_timeout的時間後關閉鏈接,然而鏈接池還認爲該鏈接可用,這樣就會產生異常。
removeAbandoned=true  是否清理 若是開啓了removeAbandoned,當getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)時被觸發.
removeAbandonedTimeout=1800  秒沒有使用的活動鏈接,清理後並無放回鏈接池
logAbandoned=true  鏈接池收回空閒的活動鏈接時是否打印消息
poolPreparedStatements=false 開啓池的prepared(默認是false,未調整,通過測試,開啓後的性能沒有關閉的好。)
maxPoolPreparedStatementPerConnectionSize=20  開啓池的prepared 後的同時最大鏈接數(默認無限制,同上,未配置)服務器

相關文章
相關標籤/搜索