java.io.EOFException: Can not read response from server. Expected to read 4 bytes,


新上線的區域病例系統,在阿里雲環境間斷性的出錯

查看后台微服務日志,發現訪問數據庫偶爾會出現異常:

測試環境和開發環境都沒這個錯誤

經過查詢,應該是連接池的連接一段時間沒有活動筋骨,mysql服務端會單方面斷開這個連接。客戶端繼續使用這個僵屍連接就會出錯。

查看mysql實例的配置my.cnf,其中wait-timeout參數設置為20秒,由於新上線還沒多少客戶使用,所以這個設置對於這種不活躍的場景太短了。直接刪除這個配置,mysql默認8小時。錯誤不再出現。

還有些連接池配置的解決方案,比如我們的dbcp連接池的testWhileIdle參數。也可以解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM