3
我們的應用程序一直使用基於ping的方法,在每個查詢執行之前。驗證查詢被觸發以檢查連接是否存在。對於同一數據源配置爲如下:Jboss後臺驗證
<min-pool-size>10</min-pool-size>
<max-pool-size>250</max-pool-size>
<blocking-timeout-millis>90000</blocking-timeout-millis>
<track-statements/>
<new-connection-sql>SELECT 1</new-connection-sql>
<check-valid-connection-sql>SELECT 2</check-valid-connection-sql>.
現在,在這個方法中,我們可以看到,有噸的時候,「選擇1」得到執行的SQL,並unnecassarily添加高達用於操作的總成本。
當我搜索可能的替代方案是在後臺進行連接檢查。對於同一
DataSource配置爲如下:在被此建議
<min-pool-size>10</min-pool-size>
<max-pool-size>250</max-pool-size>
<blocking-timeout-millis>90000</blocking-timeout-millis>
<track-statements/>
<new-connection-sql>SELECT 1</new-connection-sql>
<check-valid-connection-sql>SELECT 2</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>600000</background-validation-millis>
我的問題是有,如果我們上面的方法中使用的任何底片?
感謝@Apinto確認我認爲對於負載密集型應用程序來說應該是一件好事。我最近發佈了這些更改以供測試人員測試它們。他們回過頭來說,性能已經下降..我們有一些方法調用和記錄的東西來衡量這些方法的性能,而負載測試......但我不認爲這種變化反正會降低系統......你爲什麼認爲......?對我來說,它似乎可能是網絡或其他事情的一些問題 – Rips