← Back
Openresty-Xray

Rust 程序硬碟 I/O 高的原因定位方法

  • 定位硬碟 I/O 高的 Rust 程序
  • 使用火焰圖追蹤 Rust 磁碟寫入熱點程式碼路徑
  • 自動磁碟 I/O 分析報告
  • 常見問題
  • 定位硬碟 I/O 高的 Rust 程序
  • 使用火焰圖追蹤 Rust 磁碟寫入熱點程式碼路徑
  • 自動磁碟 I/O 分析報告
  • 常見問題

OpenResty XRay 移動端應用介紹

  • 下載和安裝 OpenResty XRay 安卓版
  • 登入到 OpenResty XRay
  • 全自動分析報告
  • 在 dashboard 頁面檢視效能圖表資料
  • 引導式分析功能
  • 下載和安裝 OpenResty XRay 安卓版
  • 登入到 OpenResty XRay
  • 全自動分析報告
  • 在 dashboard 頁面檢視效能圖表資料
  • 引導式分析功能

PHP 記憶體分析器:定位線上 PHP 程序中最大的記憶體物件

  • 現象: PHP 程序在 top 中佔用大量記憶體
  • 用 OpenResty XRay 引導式分析剖析程序,找出最大的 PHP 物件
  • 把最大的物件追溯到它的原始碼行
  • 用 Insights 報告自動監控 PHP 程序記憶體
  • 常見問題
  • 關於 OpenResty XRay
  • 現象: PHP 程序在 top 中佔用大量記憶體
  • 用 OpenResty XRay 引導式分析剖析程序,找出最大的 PHP 物件
  • 把最大的物件追溯到它的原始碼行
  • 用 Insights 報告自動監控 PHP 程序記憶體
  • 常見問題
  • 關於 OpenResty XRay

使用 C++ 動態追蹤 C++ 應用

  • 設定目標 C++ 程式
  • 編寫 C++(或 Y++)分析器
  • 將目標和分析器投入執行
  • 支援複雜 C++ 應用的進展
  • 關於除錯符號
  • 結論
Photo by 章亦春
  • 設定目標 C++ 程式
  • 編寫 C++(或 Y++)分析器
  • 將目標和分析器投入執行
  • 支援複雜 C++ 應用的進展
  • 關於除錯符號
  • 結論

Nginx 報 No debugging symbols found?用 OpenResty XRay 自動重建除錯符號

  • 確認 Nginx 被 strip、除錯符號缺失
  • 自動重建缺失的 Nginx 除錯符號——無需重新編譯
  • 持續分析:每日與每週 Insights 報告
  • 常見問題:nginx-dbg、重新編譯與分析 strip 過的二進位制
  • 確認 Nginx 被 strip、除錯符號缺失
  • 自動重建缺失的 Nginx 除錯符號——無需重新編譯
  • 持續分析:每日與每週 Insights 報告
  • 常見問題:nginx-dbg、重新編譯與分析 strip 過的二進位制

自動分析 Core Dump(使用 OpenResty XRay)

  • 定位崩潰的 OpenResty/Nginx worker 程序產生的 core dump 檔案
  • 在 OpenResty XRay 中啟動自動(引導式)core dump 分析
  • 解讀崩潰時的訊號、CPU 暫存器和 C 呼叫棧
  • 沿著 Lua 呼叫棧定位到精確的崩潰程式碼行
  • 針對線上 core dump 的自動 Insights 報告
  • 定位崩潰的 OpenResty/Nginx worker 程序產生的 core dump 檔案
  • 在 OpenResty XRay 中啟動自動(引導式)core dump 分析
  • 解讀崩潰時的訊號、CPU 暫存器和 C 呼叫棧
  • 沿著 Lua 呼叫棧定位到精確的崩潰程式碼行
  • 針對線上 core dump 的自動 Insights 報告

Perl 程序 CPU 使用率只有 13%:off-CPU 火焰圖定位阻塞的 HTTP 呼叫

  • 症狀:請求湧入但 Perl 程序 CPU 使用率上不去
  • 用 OpenResty XRay 的 off-CPU 火焰圖定位阻塞的 Perl 程式碼路徑
  • Insights 頁面中的全自動分析與報告
  • FAQ
  • 症狀:請求湧入但 Perl 程序 CPU 使用率上不去
  • 用 OpenResty XRay 的 off-CPU 火焰圖定位阻塞的 Perl 程式碼路徑
  • Insights 頁面中的全自動分析與報告
  • FAQ

使用 OpenResty XRay 定位普羅米修斯應用內部 CPU 最熱的 Go 程式碼路徑

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

線上定位 Perl 程序中最大的記憶體物件

  • 症狀:top 裡某個 Perl 程序記憶體佔用過高
  • 用 OpenResty XRay 引導式分析定位最大的 Perl 物件
  • 把最大的物件追溯回原始碼檔案
  • 用 Insights 報告自動監控 Perl 程序記憶體
  • 常見問題(FAQ)
  • 關於 OpenResty XRay
  • 症狀:top 裡某個 Perl 程序記憶體佔用過高
  • 用 OpenResty XRay 引導式分析定位最大的 Perl 物件
  • 把最大的物件追溯回原始碼檔案
  • 用 Insights 報告自動監控 Perl 程序記憶體
  • 常見問題(FAQ)
  • 關於 OpenResty XRay

Django 記憶體分析:逐個物件剖析執行中應用的記憶體佔用(使用 OpenResty XRay)

  • 用 ps 找出記憶體佔用高的 Django 程序
  • 用引導式分析剖析 Django 應用的記憶體使用
  • 讀懂火焰圖:哪個 Python 模組佔用記憶體最多
  • 用 Insights 自動監控 Django 記憶體使用
  • 關於 OpenResty XRay
  • 用 ps 找出記憶體佔用高的 Django 程序
  • 用引導式分析剖析 Django 應用的記憶體使用
  • 讀懂火焰圖:哪個 Python 模組佔用記憶體最多
  • 用 Insights 自動監控 Django 記憶體使用
  • 關於 OpenResty XRay

Python 記憶體分析器:無需改程式碼定位最佔記憶體的物件

  • 找出哪個 Python 程序最佔記憶體
  • 用引導式分析剖析 Python 記憶體:定位最大的物件及其所屬模組
  • 用定時報告自動監控 Python 記憶體佔用
  • 關於 OpenResty XRay
  • 找出哪個 Python 程序最佔記憶體
  • 用引導式分析剖析 Python 記憶體:定位最大的物件及其所屬模組
  • 用定時報告自動監控 Python 記憶體佔用
  • 關於 OpenResty XRay

CPU 時間是如何耗費在 llama.cpp 程式和 LLaMA2 模型內部的(使用 OpenResty XRay)

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

Ylang 生產實戰:容器追蹤、棧回溯與 Core Dump 分析(第四集,全四集)

  • 透明的跨容器追蹤
    • 高效的棧展開
    • 分析已終止程序(core dumps)
    • 極低的追蹤開銷
    • 標準 Y 語言庫和工具
    • 網路過濾和控制
    • Y 語言編譯器的實現
    • 作業系統支援
    • 對開源社群的貢獻
    • 結論
    • 致謝
Photo by 章亦春
  • 透明的跨容器追蹤
    • 高效的棧展開
    • 分析已終止程序(core dumps)
    • 極低的追蹤開銷
    • 標準 Y 語言庫和工具
    • 網路過濾和控制
    • Y 語言編譯器的實現
    • 作業系統支援
    • 對開源社群的貢獻
    • 結論
    • 致謝

Go 服務 CPU 使用率異常低:對執行中程序做 off-CPU 分析定位阻塞根因

  • 症狀:請求湧入,Go 服務 CPU 使用率卻上不去
  • 用 OpenResty XRay 對執行中的 Go 程序做 off-CPU 分析
  • 根因:一行阻塞的 shell 命令呼叫
  • 全自動分析與日報、週報
  • 症狀:請求湧入,Go 服務 CPU 使用率卻上不去
  • 用 OpenResty XRay 對執行中的 Go 程序做 off-CPU 分析
  • 根因:一行阻塞的 shell 命令呼叫
  • 全自動分析與日報、週報

Ylang:正規表示式、完整控制流與透明除錯符號處理(第三集,全四集)

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

Python 程序 CPU 使用率只有 8%:off-CPU 分析定位阻塞的 subprocess.run 呼叫

  • 症狀:請求湧入但 Python 程序 CPU 使用率上不去
  • 用 OpenResty XRay 的引導式分析定位阻塞的 Python 程式碼路徑
  • Insights 頁面中的全自動分析與報告
  • FAQ
  • 症狀:請求湧入但 Python 程序 CPU 使用率上不去
  • 用 OpenResty XRay 的引導式分析定位阻塞的 Python 程式碼路徑
  • Insights 頁面中的全自動分析與報告
  • FAQ

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

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

Ylang: 適用於 eBPF、SystemTap、GDB 等框架的動態追蹤語言(第一集,全四集)

  • 甚麼是動態追蹤
  • 為甚麼命名為 “Y”
  • Ylang 入門
  • 動態追蹤後端:eBPF+、Stap+、GDB 和 ODB
  • 為甚麼動態追蹤需要一個統一的前端語言
  • Ylang 語法:真正相容 C
  • 常見問題
Photo by 章亦春
  • 甚麼是動態追蹤
  • 為甚麼命名為 “Y”
  • Ylang 入門
  • 動態追蹤後端:eBPF+、Stap+、GDB 和 ODB
  • 為甚麼動態追蹤需要一個統一的前端語言
  • Ylang 語法:真正相容 C
  • 常見問題

定位洩漏的 Lua table:registry / _LOADED(package.loaded)引用路徑 · OpenResty XRay

  • LuaJIT 如何管理記憶體
  • OpenResty XRay 的命令列工具
  • 一個 Lua table 洩漏示例
  • 按 LuaJIT GC 物件型別拆解記憶體
  • 解讀 lj-gco-ref 火焰圖:registry、_LOADED、package.loaded
  • 全自動 Lua 記憶體洩漏分析
  • LuaJIT 如何管理記憶體
  • OpenResty XRay 的命令列工具
  • 一個 Lua table 洩漏示例
  • 按 LuaJIT GC 物件型別拆解記憶體
  • 解讀 lj-gco-ref 火焰圖:registry、_LOADED、package.loaded
  • 全自動 Lua 記憶體洩漏分析

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

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

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

成功傳送訊息!

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