13:52-14:03,由于訪問量突增,博客web服務器全線CPU 100%,造成博客站點不正常訪問,由此給您帶來麻煩,請您諒解。
為了迎接訪問量的增長給web服務器CPU帶來的巨大壓力,上周我們已經將博客web服務器換成了阿里云獨享型服務器。
今天下午故障前,博客站點一共投用了3臺4核8G+1臺8核8G阿里云服務器。
13:50左右,為了防止4臺服務器撐不住,我們使用阿里云的彈性伸縮服務,創建了一個根據CPU占用情況自動增加服務器的“報警任務”。
哪知剛創建完,訪問量就突增上去了,負載均衡中有1-2服務器出現CPU 100%。由于彈性伸縮服務的“報警任務”剛創建,需要一些時間搜集數據,還沒啟動。即使啟動,也需要2分鐘搜集CPU報警信息。于是,我們趕緊創建彈性伸縮服務的定時任務增加服務器。
定時任務啟動后,雖然增加服務器是自動進行的,但創建服務器、啟動服務器、配置數據庫訪問控制、掛上負載均衡這些操作需要一些時間。
在等待增加服務器期間,CPU 100%問題如雪崩般。1臺服務器出現CPU 100%一定時間,負載均衡健康檢查失敗,將這臺服務器踢出。在同樣的訪問量下,負載均衡中的服務器變少了,這時CPU 100%更嚴重,更多的服務器CPU 100%,然后一臺一臺被踢出,直到剩下最后1臺。根據阿里云負載均衡健康檢查的策略,如果只剩下1臺,即使健康檢查失敗,也不會踢出。但這時最后1臺是否被踢出已經無關緊要,因為這臺服務器的CPU根本頂不住,一直100%,博客站點訪問全線503。
這時好想有一個緊急按鈕——“停止健康檢查,所有服務器給我硬撐,撐得住繼續撐,撐不住也要繼續撐”,如果真有這樣的按鈕,負載均衡中只會有部分服務器CPU 100%,不至于全線503,可以支撐到新增的服務器上線。
但是沒有這樣的緊急按鈕,我們只能眼看著全線503,干等新增的服務器上線。。。
新增服務器上線后,博客站點很快恢復了正常。
文章列表