GitHub於周四(8月20日)公布8月17日大規模服務中斷事故的調查結果,確認這起GitHub 8月大當機並非由程式碼或組態變更引起,而是基礎設施容量未能跟上平台使用量成長。
事故期間,GitHub美國中部資料中心的一項關鍵元件在流量創下新高後超出負荷,導致多項服務中斷,整體影響持續7小時47分鐘。
多項核心服務同時受到影響
此次事故波及GitHub網站、身分驗證、GitHub Actions、API、Pull Request、Issues及Copilot等服務。GitHub表示,最初發生問題的元件所承受的容量壓力,後續擴散至其他系統,進一步造成身分驗證失敗及多項服務異常。
在復原過程中,部分Copilot服務因錯誤觸發客戶端重試,導致流量進一步增加,因此相較於其他服務需要更長時間才能恢復。

平台使用量數月內快速增加
GitHub指出,平台近期使用量快速上升。今年4月至今,每月commit數量已由14億次增加至29億次;合併的Pull Request數量及新建儲存庫數量也持續成長。
GitHub坦言,使用量增加可以解釋系統所承受的壓力,但不能成為服務中斷的理由。此次問題的核心在於,平台未能在需求超過容量前完成關鍵元件的擴充。
同月第二起與容量相關的重大事故
這是GitHub本月第二起重大服務事故。GitHub Actions已於8月6日發生服務故障。GitHub表示,兩起事故的核心問題都是容量不足,而非程式或組態變更。
從事故脈絡來看,近期平台工作負載的增長,已對既有基礎設施的容量規劃與服務相依性帶來更大壓力。不過,GitHub並未將此次事故歸因於單一程式錯誤或設定變更。

GitHub擴充資源並加速採用Azure
為因應使用量成長,GitHub表示今年已增加超過300萬個CPU核心、120PB高速儲存空間及網路容量,並加速將工作負載移轉至微軟Azure。
| 項目 | 已公布資訊 |
|---|---|
| 每月commit數量 | 由4月的14億次增至29億次 |
| 新增CPU核心 | 超過300萬個 |
| 新增高速儲存空間 | 120PB |
| 由Azure承擔的GitHub平台負載 | 約58%,高於5月的12% |
| 由Azure處理的Git操作 | 約一半 |
目前約58%的GitHub平台負載由Azure承擔,明顯高於今年5月的12%;此外,約一半的Git操作也已由Azure處理。
後續將降低系統相互依賴與重試風險
GitHub表示,後續將進一步隔離關鍵系統,降低服務之間的共同相依性,並統一設定服務間的重試上限與逾時機制。
這些調整旨在避免單一系統發生問題時,大量自動重試將流量推向其他服務,形成連鎖負載。對GitHub而言,除了持續增加運算、儲存及網路容量,如何控制服務相依性與故障期間的流量行為,也將是提升平台可用性的關鍵工作。
Reference Link : ithome.com.tw




