← Back
nginx

我們是如何解決了一個自定義 Kong 外掛中的 Lua 異常所引起的 CPU 瓶頸的(使用 OpenResty XRay)

  • 問題:Kong 伺服器中的高 CPU 使用率
  • 分析和報告
  • 結果:提高了效能,降低了 CPU 使用率
Photo by 章亦春
  • 問題:Kong 伺服器中的高 CPU 使用率
  • 分析和報告
  • 結果:提高了效能,降低了 CPU 使用率

線上上 Kong 服務程序中實時統計 CPU 和記憶體用量最高的外掛(使用 OpenResty XRay)

  • 伺服器程序中所有 Kong 外掛的 CPU 使用情況
  • 伺服器程序中所有 Kong 外掛的記憶體使用情況
  • 伺服器的額外負擔
  • 下一步是甚麼?
Photo by 章亦春
  • 伺服器程序中所有 Kong 外掛的 CPU 使用情況
  • 伺服器程序中所有 Kong 外掛的記憶體使用情況
  • 伺服器的額外負擔
  • 下一步是甚麼?

自動診斷線上請求的 200ms 額外延時

  • 問題
  • 分析過程
  • 全自動化的分析
  • OpenResty XRay 是甚麼
Photo by 章亦春
  • 問題
  • 分析過程
  • 全自動化的分析
  • OpenResty XRay 是甚麼

使用 YSQL 語言對 Nginx 程序進行實時請求計數

  • 如何安裝 run-ysql 工具
  • 統計實時總請求數
  • 篩選出特定的請求
  • 在 Web 控制檯中使用 YSQL
  • 真正的非侵入式追蹤
Photo by 章亦春
  • 如何安裝 run-ysql 工具
  • 統計實時總請求數
  • 篩選出特定的請求
  • 在 Web 控制檯中使用 YSQL
  • 真正的非侵入式追蹤

當 Lua IPC 管道阻塞 OpenResty 或 Nginx 事件迴圈的時候

  • 問題
  • 分析
  • 解決方案
  • 結果
Photo by Yichun Zhang
  • 問題
  • 分析
  • 解決方案
  • 結果

最佳化超大 Nginx 配置導致的記憶體碎片

  • 挑戰
  • 分析
  • 解決方案
  • 結果
Photo by Yichun Zhang
  • 挑戰
  • 分析
  • 解決方案
  • 結果

在 Ubuntu 20.04 上透過 apt-get 安裝 OpenResty

Photo by Ubuntu

OpenResty 中的流式 HTTP 響應輸出

Photo by Michal Matlon

預編譯 Lua 模組到 LuaJIT 位元組碼中以加快 OpenResty 啟動速度

Photo by Yichun Zhang

在 OpenResty 中正確地測量 Lua 程式碼的執行時間

Photo by Andrik Langfield

在終端上用 restydoc 檢視 OpenResty 文件

Photo by Cristina Gottardi

在 OpenResty 中跨請求共享資料

Photo by Gautam Ganguly

在 CentOS 8 上透過 dnf 安裝 OpenResty

Photo by Yichun Zhang

resty 命令列工具演示

Photo by Markus Spiske & Yichun Zhang

為 OpenResty 應用編寫你自己的 Lua 模組

Photo by Gerry Roarty

使用 OpenResty 實現“你好世界” HTTP 示例

Photo by 2Photo Pots

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 伺服器
聯絡我們

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

成功傳送訊息!

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