線上快速定位阻塞執行緒的 Go 程式碼路徑(使用 OpenResty XRay)

  • 問題: CPU 使用率上不去
  • 使用 OpenResty XRay 的引導式分析功能定位最佔有 off-CPU 時間的 Go 程式碼路徑
  • 全自動分析與報告
  • 問題: CPU 使用率上不去
  • 使用 OpenResty XRay 的引導式分析功能定位最佔有 off-CPU 時間的 Go 程式碼路徑
  • 全自動分析與報告

線上快速定位 CPU 最熱的 Go 程式碼路徑(使用 OpenResty XRay)

  • 問題: 高 CPU 使用率
  • 使用 OpenResty XRay 的引導式分析功能定位最熱的 Go 程式碼路徑
  • 全自動分析與報告
  • 問題: 高 CPU 使用率
  • 使用 OpenResty XRay 的引導式分析功能定位最熱的 Go 程式碼路徑
  • 全自動分析與報告

Ylang: 適用於 eBPF、Stap+、GDB 等框架的通用語言(第三集,全四集)

  • Y 語言的語法(接上文)
    • 字串
    • 內建的正規表示式支援
    • 完整控制流支援
    • 浮點數支援
    • 與開源工具鏈的比較
  • 清晰的除錯符號方式
    • 除錯符號:無執行期系統開銷
    • 集中的軟體包資料庫
    • 模糊匹配除錯符號
Photo by 章亦春
  • Y 語言的語法(接上文)
    • 字串
    • 內建的正規表示式支援
    • 完整控制流支援
    • 浮點數支援
    • 與開源工具鏈的比較
  • 清晰的除錯符號方式
    • 除錯符號:無執行期系統開銷
    • 集中的軟體包資料庫
    • 模糊匹配除錯符號

Ylang:適用於 eBPF、Stap+、GDB 等框架的通用語言(第二集,全四集)

  • 語言語法(接上文)
    • 宏拓展
    • 追蹤者與被追蹤者空間
    • 探針
    • 拓展變數型別
Photo by Yichun Zhang
  • 語言語法(接上文)
    • 宏拓展
    • 追蹤者與被追蹤者空間
    • 探針
    • 拓展變數型別

線上快速定位導致 CPU 上不去的 Python 程式碼路徑(使用 OpenResty XRay)

  • 問題: CPU 使用率上不去
  • 使用 OpenResty XRay 的引導式分析功能定位最佔有 off-CPU 時間的 Python 程式碼路徑
  • 全自動分析與報告
  • 問題: CPU 使用率上不去
  • 使用 OpenResty XRay 的引導式分析功能定位最佔有 off-CPU 時間的 Python 程式碼路徑
  • 全自動分析與報告

捕捉 Linux 核心追蹤子系統中的兩個 bug(使用 OpenResty XRay)

  • 讀取使用者空間記憶體時的核心死鎖
  • 核心中 x86 斷點插入的資料競爭
  • 讀取使用者空間記憶體時的核心死鎖
  • 核心中 x86 斷點插入的資料競爭

線上快速定位 CPU 最熱的 Perl 程式碼路徑(使用 OpenResty XRay)

  • 問題: 高 CPU 使用率
  • 使用 OpenResty XRay 的引導式分析功能定位最熱的 Perl 程式碼路徑
  • 全自動分析與報告
  • 問題: 高 CPU 使用率
  • 使用 OpenResty XRay 的引導式分析功能定位最熱的 Perl 程式碼路徑
  • 全自動分析與報告

線上快速定位 CPU 最熱的 Lua 程式碼路徑(使用 OpenResty XRay)

  • 問題: 高 CPU 使用率
  • 使用 OpenResty XRay 的引導式分析功能定位最熱的 Lua 程式碼路徑
  • 全自動分析與報告
  • 問題: 高 CPU 使用率
  • 使用 OpenResty XRay 的引導式分析功能定位最熱的 Lua 程式碼路徑
  • 全自動分析與報告

我們是如何解決了一個自定義 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 外掛的記憶體使用情況
  • 伺服器的額外負擔
  • 下一步是甚麼?

Ylang: 適用於 eBPF、Stap+、GDB 等框架的通用語言(第一集,全四集)

  • 甚麼是動態追蹤
  • 為甚麼命名為 “Y”
  • 入門
  • 各種後端和執行時
  • 為甚麼要使用一個統一的前端語言
  • 語言的語法
  • 未完待續
Photo by 章亦春
  • 甚麼是動態追蹤
  • 為甚麼命名為 “Y”
  • 入門
  • 各種後端和執行時
  • 為甚麼要使用一個統一的前端語言
  • 語言的語法
  • 未完待續

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

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

使用 OpenResty XRay 的命令列工具定位洩漏的 Lua table

  • LuaJIT 如何管理記憶體
  • OpenResty XRay 的命令列工具
  • 洩漏示例
  • 分析過程
  • lj-gco-ref 分析器
  • 全自動分析
  • LuaJIT 如何管理記憶體
  • OpenResty XRay 的命令列工具
  • 洩漏示例
  • 分析過程
  • lj-gco-ref 分析器
  • 全自動分析

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

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

在微軟 Azure 雲上安裝自主部署版 OpenResty XRay

  • 建立訂閱和資源組
  • 建立 Azure Kubernetes 服務
  • 準備環境變數
  • 透過命令列登入 Azure
  • 為 Kubernetes 建立 namespace 和 secret
  • 建立 Azure Disk
  • 更新持久化卷的配置檔案
  • 更新 kubernetes 的配置檔案
  • 建立持久化卷
  • 部署 Kubernetes 服務
  • 配置應用閘道器
  • 建立訂閱和資源組
  • 建立 Azure Kubernetes 服務
  • 準備環境變數
  • 透過命令列登入 Azure
  • 為 Kubernetes 建立 namespace 和 secret
  • 建立 Azure Disk
  • 更新持久化卷的配置檔案
  • 更新 kubernetes 的配置檔案
  • 建立持久化卷
  • 部署 Kubernetes 服務
  • 配置應用閘道器

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

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

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

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

QCon 北京 2023 大會上關於深度分析和診斷 K8s 容器應用的演講

本週我受邀在 QCon 北京 2023 大會上作了一次遠端分享。
Photo by Yichun Zhang
本週我受邀在 QCon 北京 2023 大會上作了一次遠端分享。

新的關於 OpenResty XRay 的常見問答

我們最近為 OpenResty XRay 產品準備了一篇《常見問答》文件
Photo by Yichun Zhang
我們最近為 OpenResty XRay 產品準備了一篇《常見問答》文件

OpenResty XRay 的自動分析報告

  • 過去
  • 現在
  • 將來
Photo by Yichun Zhang
  • 過去
  • 現在
  • 將來
聯絡我們

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

成功傳送訊息!

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