遊戲 Lag 白皮書 › L6 伺服器網路卡
虛擬化額外開銷與 noisy neighbor Noisy neighbors in virtualization
原因 ID nic-noisy · 主要負責 基礎設施團隊(伺服器基礎設施) · 協同 外部(外部)
在含圖解與實驗的完整版中開啟卡片 →
同一台實體伺服器上的其他虛擬機器大量使用網路或 CPU 時,自己伺服器的處理會不規則地被延後。
為什麼 同一台實體伺服器上的其他虛擬機器大量使用資源 → 於是 自己虛擬機器的封包處理不規則地延遲 → 畫面上 沒有明顯原因,偶爾出現抖動(封包抵達間隔忽長忽短)而卡頓
- 症狀
- 卡頓
- 因素
- 抖動
- 誰會遇到
- 整個伺服器
- 何時
- 偶爾隨機發生
- 負責單位
- 主要負責 基礎設施團隊(伺服器基礎設施) · 協同 外部(外部)
- 基礎設施團隊要做的事
- 使用專用主機或效能有保障的執行個體;抖動持續的執行個體,先停止再啟動,以搬到其他主機。
- 外部要做的事
- 向雲端供應商回報有問題的主機。
- 圖表上
- 偶爾隨機飆高 · 同一資料中心內往返時間的抖動、%steal
- 查看位置
- 持續對同一資料中心的其他伺服器送出 ping,記錄往返時間的抖動,並連同 mpstat 的 %steal 與相同配置的其他執行個體比較
- 符合的跡象
- 只有這台執行個體的往返時間抖動或 %steal 不規則地飆高,相同配置的其他執行個體很平穩。先停止再啟動、搬到其他主機後就消失
- 不符合的跡象
- 相同配置的執行個體都一樣飆高時,就不是主機的問題。改查遊戲伺服器端的負載或網路區段
- 確認方式
- 用基礎設施工具確認(不需要遊戲程式碼)
出處
- How EC2 instance stop and start works AWS
執行個體停止後再啟動,大多會搬到新的主機(專用主機除外) - mpstat(1) — Linux manual page sysstat
%steal:hypervisor 執行其他虛擬 CPU 時,這個虛擬 CPU 被迫等待的時間比例
相關原因
同一層:L6 伺服器網路卡
同一症狀(卡頓)在其他層的原因
查看含圖解與實驗的完整版卡片