爲了有效的使用後端鏈接,減小重複向數據庫創建新鏈接帶來的時間和資源開銷。oneproxy-monitor提供了鏈接管理的功能。oneproxy-for-sqlserver使用oneproxy-monitor提供的鏈接管理功能來實現鏈接的管理,提高操做效率。git
oneproxy-monitor中提供的鏈接管理功能的使用過程以下所示:github
1) 首先當客戶端鏈接到來時,向鏈接池申請鏈接。若是沒有獲取到鏈接,則直接向數據庫創建新的鏈接。sql
2)把在釋放鏈接的時候,把數據庫的鏈接保存到鏈接池中。數據庫
3)鏈接池每一個一段時間,就檢查鏈接池中鏈接的使用狀況,若是好久沒有使用,則把鏈接釋放掉。後端
4)鏈接池同時提供了檢測鏈接有效性的功能,若是鏈接無效也會別釋放掉。sqlserver
oneproxy-monitor提供的鏈接池有以下特色:code
1)不主動創建新鏈接,只是被動的管理鏈接。server
2)維持了鏈接的有效性功能。資源
3)主動釋放鏈接的功能。這樣有效的解決了數據庫創建鏈接過多浪費的問題。get
oneproxy-monitor提供這樣的鏈接管理功能可以有效的維持鏈接池中的鏈接數量在一個合理的範圍。不會出現大量鏈接不使用而被保留在鏈接池中的現象,有效的抑制了鏈接的浪費狀況。可是這也有一個小的缺點,那就是第一批鏈接創建的過程要慢一些。可是在實際的應用中,是能夠容忍的。
oneproxy-for-sqlserver中若是要使用鏈接池功能,則須要在[oneproxy]標籤下配置以下的參數:
passwordseparate = true readslave = true useconnectionpool = true
默認狀況下,上面三個參數都是爲true。若是須要使用鏈接池功能,則能夠不增長上面配置也可。若是要選用可能,則須要注意上面三個配置的功能。在下面說明下這是三個配置的功能:
passwordseparate: 是支持先後端密碼分離的功能,若是要使用讀寫分離和鏈接池功能,則必須設置這個爲true。
readslave: 是支持讀寫分離的功能。須要passwordseparate同步使用。
useconnectionpool:是支持鏈接管理的功能。須要passwordseparate同步使用。
與鏈接管理功能相關的配置([oneproxy]標籤下配置)以下:
poolconntimeoutreleasetime = 60 poolconncheckactivetime = 5
其中:
poolconncheckactivetime: 檢查鏈接活性的時間,單位爲秒(默認值爲:5秒)
poolconntimeoutreleasetime: 空閒多長時間後被釋放的時間,單位爲秒(默認爲:60秒)。
更多信息請關注:
QQ羣:數據庫監控 521095285