雲計算之路-阿里雲上: RDS實例CPU跑滿引起的故障

今天上午 10: 40 左右,咱們所使用的阿里雲 RDS 實例的 CPU 忽然飆高到近 100% ,形成大量數據庫查詢操做緩慢、超時,在這個惡劣條件下大量 memcached 緩存沒法創建,這樣的雪上加霜讓 Web 服務器的 CPU 跟着不堪重負,因而要麼訪問緩慢,要麼直接 503 。。。形成網站沒法正常訪問,由此給您帶來了很大的麻煩,請您諒解。數據庫

問題很是奇怪,昨天一樣的時間段,RDS CPU 佔用卻少不少,平時 RDS CPU 的佔用一般都在 60% 如下,而今天咱們網站的訪問量並無明顯的突增。緩存

面對這個突發故障,咱們實在找不出可能的線索。在前幾年使用阿里雲 RDS 曾經遇到過不多幾回相似數據庫訪問突發緩慢的問題,當時都經過主備切換神奇地解決了。此次,咱們最終仍是採用了主備切換的方法,在 11:20 左右啓動了主備切換。服務器

主備切換後,CPU 很快就降了下來,但因爲 SQL Server 預熱須要必定的時間(創建緩存),因此在切換後的一段時間,訪問網站依然緩慢,直到 11:40 左右才恢復正常。memcached

咱們所使用的 RDS 實例規格是 SQL Server 2008 R2 ,20CPU ,12G內存,6000 IOPS ,一直沒有升級到 Server Server 2012 或 2016 ,就是由於阿里雲只有 2008 R2 才提供了高可用版(支持主備切換),而 2012 與 2016 只有基礎版。而使用高可用版,在出現突發故障進行主備切換是一個簡單有效的方式。優化

【更新】網站

咱們在故障恢復後,開啓了 RDS 的 SQL 審計功能,正在根據審計狀況對查詢與索引進行優化。阿里雲

相關文章
相關標籤/搜索