OpenResty XRay 分析和解決 B 站重大線上事故

  • 事故描述
  • 事故分析過程
  • 事故後續修復和加固
  • OpenResty XRay 產品和服務
Photo by OpenResty Inc.
  • 事故描述
  • 事故分析過程
  • 事故後續修復和加固
  • OpenResty XRay 產品和服務

記憶體減少 60%,OpenResty XRay 精準定位問題程式碼,快速完成修復上線

  • worker 程序記憶體佔用高
  • 分析過程
  • worker 程序記憶體不釋放的疑問
  • worker 程序記憶體佔用高
  • 分析過程
  • worker 程序記憶體不釋放的疑問

Lua 級別 CPU 火焰圖簡介

  • 甚麼是火焰圖
  • 簡單的 Lua 樣例
  • 複雜的 Lua 應用
  • 取樣開銷
  • 安全性
  • 相容性
  • 其他型別的 Lua 級別火焰圖
Photo by Guido Jansen
  • 甚麼是火焰圖
  • 簡單的 Lua 樣例
  • 複雜的 Lua 應用
  • 取樣開銷
  • 安全性
  • 相容性
  • 其他型別的 Lua 級別火焰圖

OpenResty 與 Nginx 共享記憶體區的記憶體碎片問題

  • 空的共享記憶體區
  • 填充類似大小的條目
  • 刪除奇數鍵
  • 刪除前半部分的鍵
  • 緩解記憶體碎片
Photo by Elena Mozhvilo
  • 空的共享記憶體區
  • 填充類似大小的條目
  • 刪除奇數鍵
  • 刪除前半部分的鍵
  • 緩解記憶體碎片

OpenResty 和 Nginx 的共享記憶體區是如何消耗實體記憶體的

  • Slab 與記憶體頁
  • 分配的記憶體不一定有消耗
  • 虛假的記憶體洩漏
  • HUP 重新載入
Photo by Jose G. Ortega Castro
  • Slab 與記憶體頁
  • 分配的記憶體不一定有消耗
  • 虛假的記憶體洩漏
  • HUP 重新載入

OpenResty 和 Nginx 如何分配和管理記憶體

  • 系統層面
  • 應用層面
  • 傳統的 Nginx 伺服器
Photo by Harrison Broadbent
  • 系統層面
  • 應用層面
  • 傳統的 Nginx 伺服器

LuaJIT GC64 模式

  • 老的記憶體限制
    • 何時會碰到這個記憶體限制
    • 記憶體限制是每程序的
    • GC 管理的記憶體
    • 不由 GC 管理的記憶體
    • 提升 x64 模式的記憶體上限到 4 GB
  • 新的 GC64 模式
    • 如何開啟 GC64 模式
    • 效能影響
    • 除錯分析工具鏈
  • 老的記憶體限制
    • 何時會碰到這個記憶體限制
    • 記憶體限制是每程序的
    • GC 管理的記憶體
    • 不由 GC 管理的記憶體
    • 提升 x64 模式的記憶體上限到 4 GB
  • 新的 GC64 模式
    • 如何開啟 GC64 模式
    • 效能影響
    • 除錯分析工具鏈

動態追蹤技術漫談

  • 甚麼是動態追蹤
  • 動態追蹤的優點
  • DTrace 與 SystemTap
  • SystemTap 在生產上的應用
  • 火焰圖
  • 方法論
  • 知識就是力量
  • 開源與除錯符號
  • Linux 核心的支援
  • 硬體追蹤
  • 死亡程序的遺骸分析
  • 傳統的除錯技術
  • 凌亂的除錯世界
  • OpenResty XRay
Photo by Philip Brown
  • 甚麼是動態追蹤
  • 動態追蹤的優點
  • DTrace 與 SystemTap
  • SystemTap 在生產上的應用
  • 火焰圖
  • 方法論
  • 知識就是力量
  • 開源與除錯符號
  • Linux 核心的支援
  • 硬體追蹤
  • 死亡程序的遺骸分析
  • 傳統的除錯技術
  • 凌亂的除錯世界
  • OpenResty XRay
聯絡我們

很樂意聽到您的反饋,請與我們聯絡 👋

成功傳送訊息!

我們的專家團隊將在 24 小時之內與您聯絡。
x