我使用Wildfly 8.2並在打開某個網頁時觸發一系列數據庫請求。所有查詢都通過JPA Criteria API調用,並按預期返回結果 - 並且 - 它們中沒有一個提供警告,錯誤或異常。它全部運行在並行Plesk中。無法填充池(沒有可用的緩衝區空間)
現在,我注意到在2到3天內出現以下錯誤,網站變得無響應。我重新開始,我又等了大約3天,直到它再次發生(取決於我的要求數量)。
我檢查了我的linux服務器上的tcpsndbuf,我發現它一直在最大。除非我重新啓動Wildfly。顯然它無法釋放連接。
連接由JPA/Hibernate和Wildfly容器管理。我不做任何特殊或自定義的交易處理,例如開關。等我把這一切留給Wild。。
我使用的MySQL驅動是5.1.21(MySQL的連接器的Java-5.1.21-bin.jar)
在我已經定義了以下數據源的數據源值standalone.xml(除其他):
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>3</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<shared-prepared-statements>true</shared-prepared-statements>
</statement
有沒有人遇到tcpsndbuf值(或此錯誤)的同樣的上升?如果您需要更多配置或日誌文件,請告訴我。謝謝!
UPDATE 儘管以下附加超時設置,它仍然運行到衣架。因此,只要達到最大tcpsndbuf,它就會使用100%的CPU時間。 ,
不可以。它沒有幫助。它以同樣的方式增長。我也更換了mysql驅動程序 - 沒有成功。 – feder