← Back
Openresty-Xray
OpenResty XRay AI 助手:讓每一份分析資料都能開口說話
- 它和“把報告貼進 ChatGPT”有甚麼區別?
- 三個典型場景
- 常見問題:AI 能讀懂火焰圖嗎?解讀可靠嗎?

- 它和“把報告貼進 ChatGPT”有甚麼區別?
- 三個典型場景
- 常見問題:AI 能讀懂火焰圖嗎?解讀可靠嗎?
OpenResty 私有庫:高效能 Lua 與 Nginx 模組
- 完整目錄
- 按場景分類
- 許可方式
- 常見問題

- 完整目錄
- 按場景分類
- 許可方式
- 常見問題
二進位制漏洞掃描:識別 Backport 補丁,消除誤報
- 為甚麼版本匹配漏洞掃描會失效:三類疊加代價
- OpenResty XRay 的二進位制漏洞掃描如何工作:證據優先模型
- 實戰案例:Rocky Linux 雙版本 OpenSSL 場景下的二進位制漏洞掃描
- 從告警疲勞到精準:可持續的漏洞掃描實踐

- 為甚麼版本匹配漏洞掃描會失效:三類疊加代價
- OpenResty XRay 的二進位制漏洞掃描如何工作:證據優先模型
- 實戰案例:Rocky Linux 雙版本 OpenSSL 場景下的二進位制漏洞掃描
- 從告警疲勞到精準:可持續的漏洞掃描實踐
不改程式碼、不重啟服務:OpenResty XRay 如何對生產環境做全棧動態追蹤
- 現有動態追蹤框架的技術權衡與生產環境侷限性
- OpenResty XRay 的動態追蹤架構級突破
- 全棧火焰圖
- 能力邊界的持續擴充套件

- 現有動態追蹤框架的技術權衡與生產環境侷限性
- OpenResty XRay 的動態追蹤架構級突破
- 全棧火焰圖
- 能力邊界的持續擴充套件
OpenResty XRay 是甚麼
- 以“零侵入”重構生產環境效能分析
- 將海量遙測資料轉化為可執行的洞察
- 適應彈性架構的無感觀測能力
- 賦能高可用架構的長期主義

- 以“零侵入”重構生產環境效能分析
- 將海量遙測資料轉化為可執行的洞察
- 適應彈性架構的無感觀測能力
- 賦能高可用架構的長期主義
一次無法重啟的 Nginx 記憶體洩漏,我們是如何在生產環境把它抓出來的
- 一次生產環境記憶體洩漏的完整解剖
- 為甚麼這類問題幾乎無解?
- 從“靠運氣”到“可預測”
- 當效能問題超越“工具”範疇”

- 一次生產環境記憶體洩漏的完整解剖
- 為甚麼這類問題幾乎無解?
- 從“靠運氣”到“可預測”
- 當效能問題超越“工具”範疇”
Nginx 反向代理 QPS 暴跌 15 倍:upstream keepalive 缺失與 -O0 編譯選項的根因定位
- Nginx 反向代理慢 15 倍,日誌卻零報錯
- 火焰圖暴露連線風暴:upstream keepalive 缺失
- 剩下的 10% 差距:基線對比指向編譯器
- -O0 除錯編譯如何吃掉我們 10% 的效能
- 15 倍 QPS 差異的工程性覆盤

- Nginx 反向代理慢 15 倍,日誌卻零報錯
- 火焰圖暴露連線風暴:upstream keepalive 缺失
- 剩下的 10% 差距:基線對比指向編譯器
- -O0 除錯編譯如何吃掉我們 10% 的效能
- 15 倍 QPS 差異的工程性覆盤
修復 OpenResty 中 LuaJIT RSS 記憶體洩漏:無需重啟即可消除 OOM Kill
- 甚麼是 LuaJIT「偽記憶體洩漏」?
- 用真實生產資料診斷問題
- 為甚麼常規修復手段無效
- LuaJIT-plus 如何在分配器層面解決
- 上線後的生產收益

- 甚麼是 LuaJIT「偽記憶體洩漏」?
- 用真實生產資料診斷問題
- 為甚麼常規修復手段無效
- LuaJIT-plus 如何在分配器層面解決
- 上線後的生產收益
我們如何在一個 500k QPS 的 OpenResty 閘道器中定位 244 毫秒的效能異常
- 當“地震儀”找不到震源
- 從經驗主義到動態觀測的價值轉化
- 可量化的工程效率與資源最佳化指標
- 構建持續效能觀測能力

- 當“地震儀”找不到震源
- 從經驗主義到動態觀測的價值轉化
- 可量化的工程效率與資源最佳化指標
- 構建持續效能觀測能力
如何在生產環境中定位 Java 記憶體洩漏——無需堆轉儲、無需重啟
- 為甚麼多次 Full GC 後堆記憶體仍未回落
- 如何在不匯出堆轉儲的情況下定位生產環境的 Java 記憶體洩漏
- 如何定位 Java 記憶體洩漏:一套可複用的三步法
- 為甚麼用 OpenResty XRay 定位 Java 記憶體洩漏
- 常見問題

- 為甚麼多次 Full GC 後堆記憶體仍未回落
- 如何在不匯出堆轉儲的情況下定位生產環境的 Java 記憶體洩漏
- 如何定位 Java 記憶體洩漏:一套可複用的三步法
- 為甚麼用 OpenResty XRay 定位 Java 記憶體洩漏
- 常見問題
當”黑盒”外掛吃掉 45% CPU,我們如何在無原始碼情況下定位到 Lua 第 93 行
- 當 perf 遇到“黑盒”
- 從取樣到全棧動態追蹤
- 拿到證據鏈
- 從“發生了甚麼”到“為甚麼”

- 當 perf 遇到“黑盒”
- 從取樣到全棧動態追蹤
- 拿到證據鏈
- 從“發生了甚麼”到“為甚麼”
OpenResty XRay 如何精準定位 Gzip 配置的隱性成本
- 效能問題往往在不起眼的地方
- OpenResty XRay 如何定義效能瓶頸的“根因”
- 效能瓶頸的可量化真相
- 從經驗到方法論

- 效能問題往往在不起眼的地方
- OpenResty XRay 如何定義效能瓶頸的“根因”
- 效能瓶頸的可量化真相
- 從經驗到方法論
Nginx C++ 模組記憶體洩漏:生產環境不重啟定位根因
- 生產環境難題:無法用 GDB 除錯的 C++ 模組記憶體洩漏
- 火焰圖如何鎖定 ngx_dubbo_module 中的洩漏函式
- 從被動應對到主動賦能:XRay 帶來的排障新閉環
- 總結

- 生產環境難題:無法用 GDB 除錯的 C++ 模組記憶體洩漏
- 火焰圖如何鎖定 ngx_dubbo_module 中的洩漏函式
- 從被動應對到主動賦能:XRay 帶來的排障新閉環
- 總結
無侵入式 Java 探針:生產環境無 Java Agent 捕獲方法引數
- 為甚麼無侵入式 Java 探針在生產環境很重要
- 實戰演示:在生產環境捕獲 Java 方法引數
- OpenResty XRay 與常見 Java Profiler 的差異
- 常見問題

- 為甚麼無侵入式 Java 探針在生產環境很重要
- 實戰演示:在生產環境捕獲 Java 方法引數
- OpenResty XRay 與常見 Java Profiler 的差異
- 常見問題
別讓”大資料”淹沒你:OpenResty XRay 如何用最少資料,定位最棘手問題
- “更多資料”不等於“更多洞察”
- OpenResty XRay 有何不同?
- XRay 在真實場景中的應用案例

- “更多資料”不等於“更多洞察”
- OpenResty XRay 有何不同?
- XRay 在真實場景中的應用案例
Perl 記憶體洩漏排查案例:數 GB 降至 60MB,一張火焰圖定位根因
- 精準定位記憶體洩漏根因
- 顯著的最佳化成效
- 延展閱讀
- 總結

- 精準定位記憶體洩漏根因
- 顯著的最佳化成效
- 延展閱讀
- 總結
OpenResty XRay 如何用 Node.js 函式探針實現監控新正規化
- 為甚麼你需要無侵入式函式探針的新正規化?
- 實戰演示:監控函式引數
- 頂尖團隊如何利用無侵入式探針提升研發效能?
- 總結

- 為甚麼你需要無侵入式函式探針的新正規化?
- 實戰演示:監控函式引數
- 頂尖團隊如何利用無侵入式探針提升研發效能?
- 總結
Nginx Worker 程序 RPS 上不去:追蹤到 75 毫秒的事件迴圈阻塞
- 負載很高卻沒幹活:缺失 worker_cpu_affinity 導致的 CPU 爭搶
- 阻塞的 Lua IO 操作如何拖停 Nginx 事件迴圈
- 量化檔案 IO 延時:單次最高 1.5 毫秒
- Nginx 事件迴圈阻塞有多嚴重?43952 個樣本、最大 75 毫秒
- 常見問題

- 負載很高卻沒幹活:缺失 worker_cpu_affinity 導致的 CPU 爭搶
- 阻塞的 Lua IO 操作如何拖停 Nginx 事件迴圈
- 量化檔案 IO 延時:單次最高 1.5 毫秒
- Nginx 事件迴圈阻塞有多嚴重?43952 個樣本、最大 75 毫秒
- 常見問題
雙重瓶頸併發?OpenResty XRay 多維分析破解效能難題
- 整體 CPU 使用分析
- 深入模組內部分析
- 壓縮策略深度分析
- 分析結論
- 最佳化解決方案

- 整體 CPU 使用分析
- 深入模組內部分析
- 壓縮策略深度分析
- 分析結論
- 最佳化解決方案
分析線上 Node.js 應用的 CPU 使用情況(使用 OpenResty XRay)
- Node.js 應用中的高 CPU 使用率問題
- Node.js 應用中的 CPU 阻塞問題
- 支援的 Node.js 版本和作業系統
- 效能影響和額外負擔
- 下一步的計劃

- Node.js 應用中的高 CPU 使用率問題
- Node.js 應用中的 CPU 阻塞問題
- 支援的 Node.js 版本和作業系統
- 效能影響和額外負擔
- 下一步的計劃
從崩潰到根因:OpenResty XRay 如何將 Nginx 記憶體踩踏問題分析得明明白白
- 案例背景:日誌無法解釋的 Nginx worker 程序頻繁崩潰
- 分析錄製檔案:把崩潰過程回放回“第一現場”
- 根因:Nginx 連線生命週期中的 Use-After-Free
- 常見問題(FAQ)

- 案例背景:日誌無法解釋的 Nginx worker 程序頻繁崩潰
- 分析錄製檔案:把崩潰過程回放回“第一現場”
- 根因:Nginx 連線生命週期中的 Use-After-Free
- 常見問題(FAQ)
UDB + OpenResty XRay:解鎖 OpenResty 應用效能之謎
- OpenResty XRay 如何協同 UDB 增效
- 實戰:使用 UDB 與 OpenResty XRay 分析 OpenResty 應用的 Lua 程式碼呼叫棧
- 時間旅行除錯的優勢

- OpenResty XRay 如何協同 UDB 增效
- 實戰:使用 UDB 與 OpenResty XRay 分析 OpenResty 應用的 Lua 程式碼呼叫棧
- 時間旅行除錯的優勢
UDB 與 OpenResty XRay 如何讓你看透 Perl 程式碼執行全過程
- UDB 是甚麼?
- 實戰:使用 OpenResty XRay 與 UDB 分析 Perl 應用的程式碼呼叫棧
- 為甚麼越來越多開發者選擇 UDB?

- UDB 是甚麼?
- 實戰:使用 OpenResty XRay 與 UDB 分析 Perl 應用的程式碼呼叫棧
- 為甚麼越來越多開發者選擇 UDB?
如何用時間旅行呼叫棧除錯 Java 檔案 I/O
- IDE 斷點和 coredump 在 Java 檔案 I/O 排查中的短板
- 從 native write() 系統呼叫重建完整的 Java 呼叫棧
- 用時間旅行回放一步步除錯 Java 檔案 I/O
- 常見問題

- IDE 斷點和 coredump 在 Java 檔案 I/O 排查中的短板
- 從 native write() 系統呼叫重建完整的 Java 呼叫棧
- 用時間旅行回放一步步除錯 Java 檔案 I/O
- 常見問題
結合 UDB 的時間旅行功能,揭秘 Python 程式碼執行過程
- UDB 在 Python 除錯中的獨特價值
- 結合 OpenResty XRay 增強除錯能力
- 實戰案例:分析 Python 網路請求的呼叫棧
- 總結

- UDB 在 Python 除錯中的獨特價值
- 結合 OpenResty XRay 增強除錯能力
- 實戰案例:分析 Python 網路請求的呼叫棧
- 總結
追蹤 OpenResty 中 LRU 快取引發的記憶體洩漏 —— 根因竟是快取的 SSL 證書
- 為甚麼一個低流量的 OpenResty 應用會持續洩漏記憶體
- 一步步追蹤 LRU 快取記憶體洩漏的完整過程
- 最終結果:從無限增長到記憶體平穩

- 為甚麼一個低流量的 OpenResty 應用會持續洩漏記憶體
- 一步步追蹤 LRU 快取記憶體洩漏的完整過程
- 最終結果:從無限增長到記憶體平穩
Nginx Worker CPU 佔用不均:定位未啟用 reuseport 與 cjson 解析瓶頸
- 症狀:部分 Nginx Worker 程序 CPU 打滿,其餘接近空閒
- OpenResty XRay 如何定位根因
- 修復:三項最佳化與各自的實測收益
- 總結:OpenResty XRay 幾分鐘內的發現
- 常見問題

- 症狀:部分 Nginx Worker 程序 CPU 打滿,其餘接近空閒
- OpenResty XRay 如何定位根因
- 修復:三項最佳化與各自的實測收益
- 總結:OpenResty XRay 幾分鐘內的發現
- 常見問題
動態追蹤的瑞士軍刀:Y 語言如何讓動態追蹤不再複雜
- 行業痛點:為甚麼我們迫切需要一門全新的追蹤語言?
- 技術硬實力:Y 語言憑甚麼敢說“革命性”?
- Y 語言語法:熟悉的 C,更強大的追蹤能力
- 殺手級應用場景:解決傳統工具無法解決的問題
- 全平臺支援:沒有 Y 語言到不了的地方

- 行業痛點:為甚麼我們迫切需要一門全新的追蹤語言?
- 技術硬實力:Y 語言憑甚麼敢說“革命性”?
- Y 語言語法:熟悉的 C,更強大的追蹤能力
- 殺手級應用場景:解決傳統工具無法解決的問題
- 全平臺支援:沒有 Y 語言到不了的地方
OpenResty XRay 重要突破:無侵入分析 Java 應用記憶體與 Envoy Lua 效能
- 無需侵入,徹底洞察 Java 應用記憶體
- 首次打通 Envoy 內 Lua 效能黑盒

- 無需侵入,徹底洞察 Java 應用記憶體
- 首次打通 Envoy 內 Lua 效能黑盒
為甚麼動態追蹤才是生產環境除錯的未來
- 現代軟體中看不見的危機
- 傳統工具為何會失效?
- 故障排除的新正規化:動態追蹤
- OpenResty XRay 的獨特之處

- 現代軟體中看不見的危機
- 傳統工具為何會失效?
- 故障排除的新正規化:動態追蹤
- OpenResty XRay 的獨特之處
深入動態追蹤技術:OpenResty XRay 如何徹底改變問題診斷方式
- 動態追蹤:解決複雜系統問題的利器
- 為甚麼選擇 OpenResty XRay?
- 產品聚焦:XRay 在真實場景中的應用案例
- 常見誤區與 FAQ

- 動態追蹤:解決複雜系統問題的利器
- 為甚麼選擇 OpenResty XRay?
- 產品聚焦:XRay 在真實場景中的應用案例
- 常見誤區與 FAQ
日誌、埋點、A/B 測試都不夠用了?你該瞭解”動態追蹤”
- 傳統方法 vs 動態追蹤:效率與控制力的革命
- 動態追蹤:系統的“透視眼”
- 從火焰圖到系統全景
- 為甚麼選擇 OpenResty XRay?
- 動態追蹤的新邊界

- 傳統方法 vs 動態追蹤:效率與控制力的革命
- 動態追蹤:系統的“透視眼”
- 從火焰圖到系統全景
- 為甚麼選擇 OpenResty XRay?
- 動態追蹤的新邊界
可觀測性的下一站:OpenResty XRay 如何重新定義問題排查
- 現代軟體架構下的問題排查為何越來越難?
- 趨勢洞察:可觀測技術的未來
- 動態追蹤技術是如何打通抽象層的
- 實戰案例:線上上 Kong 服務中實時統計外掛資源消耗

- 現代軟體架構下的問題排查為何越來越難?
- 趨勢洞察:可觀測技術的未來
- 動態追蹤技術是如何打通抽象層的
- 實戰案例:線上上 Kong 服務中實時統計外掛資源消耗
為甚麼動態追蹤落地難?OpenResty XRay 如何破局?
- 動態追蹤技術的落地痛點
- OpenResty XRay:新一代動態追蹤解決方案
- 動態追蹤的未來

- 動態追蹤技術的落地痛點
- OpenResty XRay:新一代動態追蹤解決方案
- 動態追蹤的未來
從黑盒到白盒:OpenResty XRay 讓系統問題無所遁形
- OpenResty XRay:黑盒變白盒的動態追蹤利器
- 全方位多角度的分析能力
- 實際案例分享
- 產品願景

- OpenResty XRay:黑盒變白盒的動態追蹤利器
- 全方位多角度的分析能力
- 實際案例分享
- 產品願景
OpenResty XRay 助力 LLVM clang 效能最佳化實踐
- 甚麼是 LLVM/clang
- OpenResty XRay 分析過程
- 最佳化實施與成果

- 甚麼是 LLVM/clang
- OpenResty XRay 分析過程
- 最佳化實施與成果
自我最佳化:OpenResty XRay 的效能蛻變
- 顯著的最佳化成果
- Ylang 語言:動態追蹤的理想工具
- 技術協同的典範

- 顯著的最佳化成果
- Ylang 語言:動態追蹤的理想工具
- 技術協同的典範
OpenResty XRay 助力指令碼效能提升 44 倍
- 真實案例:從發現瓶頸到顯著提速
- OpenResty XRay 的工作原理
- 最佳化效果
- 支適用場景與實踐建議

- 真實案例:從發現瓶頸到顯著提速
- OpenResty XRay 的工作原理
- 最佳化效果
- 支適用場景與實踐建議
跨介質資料結構漂移:OpenResty XRay 助力效能提升 20 倍
- 效能挑戰與突破
- 20 倍效能提升的實際意義
- 未來展望

- 效能挑戰與突破
- 20 倍效能提升的實際意義
- 未來展望
從 OOM 到 O(1):OpenResty 流式 JSON 解析器的實現之道
- JSONL 格式與傳統 JSON 的區別
- 解決方案
- 技術驗證
- 持續最佳化
- 技術啟示

- JSONL 格式與傳統 JSON 的區別
- 解決方案
- 技術驗證
- 持續最佳化
- 技術啟示
從數天到數小時:OpenResty XRay 如何讓 Linux shred 工具提速幾十倍
- 問題分析
- XRay 實戰效果
- 最佳化過程
- 應用價值
- 總結與展望

- 問題分析
- XRay 實戰效果
- 最佳化過程
- 應用價值
- 總結與展望
實戰分享:OpenResty XRay 讓 Ylang 編譯器效能翻倍
- 顯著的最佳化成果
- Ylang 語言:動態追蹤的理想工具
- 技術協同的典範

- 顯著的最佳化成果
- Ylang 語言:動態追蹤的理想工具
- 技術協同的典範
Java Tomcat 響應慢:用單請求 PCAP 精準定位慢請求
- 診斷 Tomcat 響應慢,精準捕獲慢請求
- 選擇性抓包:按響應時間、狀態碼、路徑過濾
- 每個慢請求單獨下載對應 PCAP 包
- 區分服務端延遲與網路延遲
- 支援 Spring Boot 內嵌 Tomcat 場景

- 診斷 Tomcat 響應慢,精準捕獲慢請求
- 選擇性抓包:按響應時間、狀態碼、路徑過濾
- 每個慢請求單獨下載對應 PCAP 包
- 區分服務端延遲與網路延遲
- 支援 Spring Boot 內嵌 Tomcat 場景
Java 應用效能剖析:CPU、Off-CPU 與磁碟 I/O 分析(無 Safepoint 偏差)
- 用火焰圖剖析 Java CPU 熱點
- Off-CPU Java 效能分析:鎖等待與阻塞診斷
- Java 磁碟 I/O 剖析:追蹤檔案與套接字寫入
- 支援 OpenJDK 8/11/17/21 應用剖析
- 自動化取樣與專家分析
- 效能影響與開銷
- 常見問題

- 用火焰圖剖析 Java CPU 熱點
- Off-CPU Java 效能分析:鎖等待與阻塞診斷
- Java 磁碟 I/O 剖析:追蹤檔案與套接字寫入
- 支援 OpenJDK 8/11/17/21 應用剖析
- 自動化取樣與專家分析
- 效能影響與開銷
- 常見問題
OpenResty XRay 的 Web 控制檯快速導覽
- Insight 頁面介紹
- 自動報告詳情
- Dashboard 效能指標儀表盤
- 使用 Guided Analysis 線上分析
- 系統設定與配置頁

- Insight 頁面介紹
- 自動報告詳情
- Dashboard 效能指標儀表盤
- 使用 Guided Analysis 線上分析
- 系統設定與配置頁
使用 XRay 診斷 Python 應用的硬碟 I/O 高問題
- 定位硬碟 I/O 高的 Python 程序
- 使用火焰圖追蹤 Python 磁碟讀寫程式碼路徑
- 自動磁碟 I/O 分析報告
- 常見問題

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