一次MySQL異常排查:Query execution was interrupted

異常日誌:php

 

查詢被中斷了,先是在Google上查,又是再百度上查,基本上都是說程序超時設置setQueryTimeout的問題,就是說查詢時間超過了設置的最大查詢時間,致使查詢被中斷。我也沒辦法判定是否是這個緣由,就聯繫了DBA幫忙肯定。
DBA查詢結果如圖:數據庫

 

反饋是閒置超時致使的,也就是連接超過設置的MySQL連接閒置超時時間(默認8小時)
解決方法,在數據庫數據源的DBCP配置文件中,設置testWhileIdel等於true,且validationQuery不等於空(通常設置select 1)
參數做用:當檢測到機器閒置時,經過validationQuery設置的SQL應用此連接執行,保證連接取消閒置狀態
參考:http://blog.csdn.net/initphp/article/details/8255793.net

相關文章
相關標籤/搜索