1.6MB《老友記》表情包癱瘓Linux伺服器
《老友記》表情包引爆伺服器危機:24萬次重複上傳導致377GB空間爆滿
近期,一張僅1.6MB的《老友記》經典表情包,在Discourse開源論壇平台上被上傳使用達246,173次,累積佔用高達377GB儲存空間,最終直接導致其後端Linux系統崩潰。
表情包來源與爆紅瞬間
這張廣為流傳的表情包取材自經典美劇《老友記》,畫面定格於詹妮弗・安妮斯頓飾演的「瑞秋」得知將在屋頂舉辦肥皂劇主題派對時,興奮雀躍的歡呼瞬間。該片段因情緒張力十足、表情極具感染力,迅速成為網路熱門模因。

技術根源:Discourse的「安全上傳」機制與ext4限制
Discourse作為知名開源社群平台,採用獨特的「安全上傳」設計:每當檔案於不同安全情境(如不同子論壇、權限群組)中被引用,系統便會自動產生一個附帶隨機SHA1雜湊值的新副本。即便內容完全相同,亦被視為獨立檔案,無法共用儲存實體。

硬連結上限成致命瓶頸
團隊雖早察覺重複檔案問題,並嘗試以「硬連結(hard link)」方式節省空間——即讓多個路徑指向同一份物理檔案。但關鍵限制在於:Discourse所部署的Linux系統使用ext4檔案系統,而ext4對單一檔案所能建立的硬連結數量設有嚴格上限——最多僅支援65,000個。

面對24萬餘次上傳需求,系統在觸及65,000連結上限後,被迫放棄硬連結策略,轉而執行額外約181,000次完整檔案複製下載。海量冗餘資料瞬間塞爆磁碟,引發全面性伺服器當機。
終極解方:動態主檔案輪替機制
Discourse工程團隊最終推出穩健新方案:當檔案系統回傳「EMLINK(連結數過多)」錯誤時,系統將自動於本機複製一份該檔案,並將此複製檔升級為新的「主檔案(primary file)」;後續所有硬連結皆以此新主檔為基礎重建,直至再次達成上限,再啟動下一次輪替。

全面相容且零配置升級
此新架構無需更換檔案系統、不依賴特定Linux版本,亦無須使用者手動設定,可無縫支援ext4、XFS、Btrfs等所有主流檔案系統。Discourse官方亦幽默表示:「沒想到詹妮弗・安妮斯頓的一個表情,竟成了史上最嚴苛的伺服器壓力測試工具。」
