한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

遊戲 Lag 白皮書 › L6 伺服器網路卡

虛擬化額外開銷與 noisy neighbor Noisy neighbors in virtualization

原因 ID nic-noisy · 主要負責 基礎設施團隊(伺服器基礎設施) · 協同 外部(外部)

在含圖解與實驗的完整版中開啟卡片 →

同一台實體伺服器上的其他虛擬機器大量使用網路或 CPU 時,自己伺服器的處理會不規則地被延後。

為什麼 同一台實體伺服器上的其他虛擬機器大量使用資源 → 於是 自己虛擬機器的封包處理不規則地延遲 → 畫面上 沒有明顯原因,偶爾出現抖動(封包抵達間隔忽長忽短)而卡頓

症狀
卡頓
因素
抖動
誰會遇到
整個伺服器
何時
偶爾隨機發生
負責單位
主要負責 基礎設施團隊(伺服器基礎設施) · 協同 外部(外部)
基礎設施團隊要做的事
使用專用主機或效能有保障的執行個體;抖動持續的執行個體,先停止再啟動,以搬到其他主機。
外部要做的事
向雲端供應商回報有問題的主機。
圖表上
偶爾隨機飆高 · 同一資料中心內往返時間的抖動、%steal
查看位置
持續對同一資料中心的其他伺服器送出 ping,記錄往返時間的抖動,並連同 mpstat 的 %steal 與相同配置的其他執行個體比較
符合的跡象
只有這台執行個體的往返時間抖動或 %steal 不規則地飆高,相同配置的其他執行個體很平穩。先停止再啟動、搬到其他主機後就消失
不符合的跡象
相同配置的執行個體都一樣飆高時,就不是主機的問題。改查遊戲伺服器端的負載或網路區段
確認方式
用基礎設施工具確認(不需要遊戲程式碼)

出處

  1. How EC2 instance stop and start works AWS
    執行個體停止後再啟動,大多會搬到新的主機(專用主機除外)
  2. mpstat(1) — Linux manual page sysstat
    %steal:hypervisor 執行其他虛擬 CPU 時,這個虛擬 CPU 被迫等待的時間比例

相關原因

同一層:L6 伺服器網路卡

同一症狀(卡頓)在其他層的原因

查看含圖解與實驗的完整版卡片