云計算之路-阿里云上:RDS數(shù)據(jù)庫連接數(shù)過萬引發(fā)故障,主備庫切換后恢復正常

 

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

非常抱歉!今天 12:03-12:52 ,由于數(shù)據(jù)庫連接數(shù)異常突增超過1萬,達到了阿里云RDS的最大連接數(shù)限制,影響了全站的正常訪問。由此給您帶來麻煩,請您諒解。

在發(fā)現(xiàn)數(shù)據(jù)庫連接數(shù)突增的問題后,我們一開始懷疑可能是我們的某些應用中產(chǎn)生太多ADO.NET連接引起的,但是對嫌疑的應用們進行重啟后,連接數(shù)依然高居不下。

后來,我們回想起去年9月份遇到的一次數(shù)據(jù)庫問題,當時很多數(shù)據(jù)庫查詢超時,IOPS突增達到RDS的最大限制。開始我們也是從應用層面下手,但怎么也解決不了,后來實在沒辦法,試了試主備庫切換,切換后立馬神奇地恢復正常,然后就一直相安無事,直到今天。

今天我們再試試這一招吧!12:38開始進行主備庫切換,12:52左右連接數(shù)降到了1000以下,全站訪問恢復正常,這一招又一次神奇地發(fā)揮了作用。

恢復正常后,我們分析了一下對應的應用日志。

在出現(xiàn)故障之前應用日志就已經(jīng)記錄了一些數(shù)據(jù)庫查詢超時:

System.Data.SqlClient.SqlException (0x80131904): Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.  This failure occured while attempting to connect to the Principle server. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out

在故障期間出現(xiàn)了大量下面的錯誤日志:

1)無法與阿里云RDS建立TCP連接

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error&n