1個多小時間的網站故障給大家帶來很大的麻煩,在這里我們表示深深的歉意!希望大家能夠諒解!
這兩天上海的氣溫在回升,而杭州的雲上卻突然襲來一股寒流。
12月23日晚上,阿里雲進行了一次RDS的功能發布,在發布中悄無聲息地修改了我們的RDS數據庫連接數限制,誰也不知道,然后。。。
21:45:52左右開始,日志中出現大量執行時間超過5秒的請求。
然后出現超過10秒、20秒。。。甚至超過100秒的請求。
21:46:50左右,開始出現數據庫連接錯誤:
System.Data.SqlClient.SqlException (0x80131904): Timeout 時間已到。
在操作完成之前超時時間已過或服務器未響應。
嘗試連接到 Principle 服務器時發生了此故障。
---> System.ComponentModel.Win32Exception (0x80004005): 等待的操作過時。
並繼續出現大量執行時間超過5秒的請求。
接着出現下面的錯誤:
System.InvalidOperationException: 超時時間已到。
超時時間已到,但是尚未從池中獲取連接。
出現這種情況可能是因為所有池連接均在使用,並且達到了最大池大小。
再接着就是下面的錯誤:
System.Web.HttpUnhandledException (0x80004005): 引發類型為“System.Web.HttpUnhandledException”的異常。
---> System.Data.SqlClient.SqlException (0x80131904): 已成功與服務器建立連接,但是在登錄前的握手期間發生錯誤。
(provider: SSL Provider, error: 0 - 等待的操作過時。)
然后網站就無法正常訪問。
(上圖中紫色的線條表示的是請求執行時間)
當我們發現問題后,立即向阿里雲反饋,然后與阿里雲工作人員一起排查問題。但是我們不知道這次RDS發布,阿里雲參加排查問題的人也不知道。於是,緊張地做了1小時左右的無用功,直到知道了故障的真相——RDS功能發布時修改了我們的RDS最大連接數限制,而且這次發布事先沒有任何通知。
我們不要這樣的“被故障”,我們要的是無故障,希望2015年全年無故障!