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

 

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

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

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

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

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

恢復(fù)正常后,我們分析了一下對應(yīng)的應(yīng)用日志。

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

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
        
		

網(wǎng)友評論