← Back
Openresty-Xray

Off-CPU 分析の実践:CPU 使用率が低いのにレイテンシが高い 4 つの根本原因と特定方法

  • Off-CPU 時間とは何か
  • 症状:CPU 使用率が上がらないのにリクエストが滞留する
  • 4 つの Off-CPU 根本原因の実例による因果チェーン
  • Off-CPU 時間の定量化手法
  • On-CPU + Off-CPU = ウォールクロック時間:全体像とツールエコシステム
  • よくある質問
  • Off-CPU 時間とは何か
  • 症状:CPU 使用率が上がらないのにリクエストが滞留する
  • 4 つの Off-CPU 根本原因の実例による因果チェーン
  • Off-CPU 時間の定量化手法
  • On-CPU + Off-CPU = ウォールクロック時間:全体像とツールエコシステム
  • よくある質問

OpenResty XRay AI アシスタント:すべての分析データに語らせる

  • 「レポートを ChatGPT に貼り付ける」のと何が違うのか?
  • 3 つの典型的なシナリオ
  • よくある質問:AI は本当にフレームグラフを読めるのか?どこまで信頼できるのか?
  • 「レポートを ChatGPT に貼り付ける」のと何が違うのか?
  • 3 つの典型的なシナリオ
  • よくある質問:AI は本当にフレームグラフを読めるのか?どこまで信頼できるのか?

バイナリ脆弱性スキャン:バックポート済みパッチを検知し、誤検知を削減

  • バージョン照合型脆弱性スキャンが失敗する理由:3つの累積コスト
  • OpenResty XRay のバイナリ脆弱性スキャンの仕組み:エビデンスファーストモデル
  • 事例:Rocky Linux における OpenSSL 二重バージョン環境でのバイナリ脆弱性スキャン
  • アラート疲れから精度へ:持続可能な脆弱性スキャンの実践
  • バージョン照合型脆弱性スキャンが失敗する理由:3つの累積コスト
  • OpenResty XRay のバイナリ脆弱性スキャンの仕組み:エビデンスファーストモデル
  • 事例:Rocky Linux における OpenSSL 二重バージョン環境でのバイナリ脆弱性スキャン
  • アラート疲れから精度へ:持続可能な脆弱性スキャンの実践

コード変更・サービス再起動なし:OpenResty XRay による本番環境での動的トレーシング実践法

  • 既存の動的トレーシングフレームワークが本番環境で抱える限界と課題とは?
  • OpenResty XRay が動的トレーシングのアーキテクチャ設計で実現した技術的革新とは?
  • フルスタックフレームグラフとは何か?
  • OpenResty XRay の対応範囲はどのように継続的に広がっているか?
  • 既存の動的トレーシングフレームワークが本番環境で抱える限界と課題とは?
  • OpenResty XRay が動的トレーシングのアーキテクチャ設計で実現した技術的革新とは?
  • フルスタックフレームグラフとは何か?
  • OpenResty XRay の対応範囲はどのように継続的に広がっているか?

OpenResty XRay 入門:コードを変更せずに、システム深層の「鼓動」を聴く

  • OpenResty XRay が実現する究極の可観測性基盤
  • シグナルからインサイトへ
  • 次世代のクラウドネイティブ・エンジニアリング
  • オープンなエコシステムと堅牢な技術基盤
  • OpenResty XRay が実現する究極の可観測性基盤
  • シグナルからインサイトへ
  • 次世代のクラウドネイティブ・エンジニアリング
  • オープンなエコシステムと堅牢な技術基盤

OpenResty の隠れたメモリリークを無停止で特定する手法(Zero Downtime)

  • 本番環境におけるメモリリークの徹底解剖
  • なぜ、このような問題は解決が極めて困難なのか?
  • 「運任せ」から「予測可能」なシステムへ
  • パフォーマンス問題が「ツール」の域を超える時
  • 本番環境におけるメモリリークの徹底解剖
  • なぜ、このような問題は解決が極めて困難なのか?
  • 「運任せ」から「予測可能」なシステムへ
  • パフォーマンス問題が「ツール」の域を超える時

Nginx リバースプロキシの QPS が 15 分の 1 に低下:upstream keepalive の欠落と -O0 ビルドが原因だった

  • Nginx リバースプロキシが 15 分の 1 に低速化、それでもエラーログはゼロ
  • フレームグラフが暴いた接続ストーム:upstream keepalive の欠落
  • 残り 10% の差:ベースライン比較がコンパイラを指し示す
  • -O0 デバッグビルドが 10% の性能を奪っていた
  • Nginx リバースプロキシが 15 分の 1 に低速化、それでもエラーログはゼロ
  • フレームグラフが暴いた接続ストーム:upstream keepalive の欠落
  • 残り 10% の差:ベースライン比較がコンパイラを指し示す
  • -O0 デバッグビルドが 10% の性能を奪っていた

OpenResty における LuaJIT RSS メモリリークの修正:再起動なしで OOM Kill を防ぐ

  • LuaJIT「擬似メモリリーク」とは何か
  • 本番データによる問題診断
  • なぜ従来の対処法では解決しないのか
  • LuaJIT-plus によるアロケータレベルの解決
  • 本番投入後の効果
  • LuaJIT「擬似メモリリーク」とは何か
  • 本番データによる問題診断
  • なぜ従来の対処法では解決しないのか
  • LuaJIT-plus によるアロケータレベルの解決
  • 本番投入後の効果

50万 QPS の OpenResty ゲートウェイで発生した「謎の 244ms 遅延」の原因を特定した話

  • 「地震計」が震源を特定できない時
  • 経験主義から動的観測への価値転換
  • 定量的なエンジニアリング効率とリソース最適化指標
  • 継続的なパフォーマンス観測能力の構築
  • 「地震計」が震源を特定できない時
  • 経験主義から動的観測への価値転換
  • 定量的なエンジニアリング効率とリソース最適化指標
  • 継続的なパフォーマンス観測能力の構築

プラグインが CPU の 45% を食い潰した際、ソースコードなしで Lua の 93 行目を特定した方法?

  • perf が「ブラック ボックス」に直面したとき *「サンプリング」から「フルスタック動的トレーシング」へ
  • 証拠の連鎖を特定する
  • 「何が起こったか」から「なぜ」へ
  • perf が「ブラック ボックス」に直面したとき *「サンプリング」から「フルスタック動的トレーシング」へ
  • 証拠の連鎖を特定する
  • 「何が起こったか」から「なぜ」へ

本番環境で Java メモリリークを特定する方法——ヒープダンプも再起動も不要

  • 複数回の Full GC 後もヒープが回収されない理由:本番環境の Java メモリリーク
  • ヒープダンプなしで本番環境の Java メモリリークを診断する方法
  • Java メモリリークを特定する再利用可能な 3 ステップ法
  • OpenResty XRay を選ぶ理由
  • よくある質問
  • 複数回の Full GC 後もヒープが回収されない理由:本番環境の Java メモリリーク
  • ヒープダンプなしで本番環境の Java メモリリークを診断する方法
  • Java メモリリークを特定する再利用可能な 3 ステップ法
  • OpenResty XRay を選ぶ理由
  • よくある質問

OpenResty XRay バージョン 25.10.11 正式リリース

  • 特に注目すべき 3 つのポイント
  • 診断精度と安定性の強化
  • ユーザビリティとセキュリティの強化
  • アップグレード方法
  • 特に注目すべき 3 つのポイント
  • 診断精度と安定性の強化
  • ユーザビリティとセキュリティの強化
  • アップグレード方法

OpenResty XRay は、Gzip 設定の潜在的なコストをいかに正確に特定するか

  • 性能問題は意外なところに潜んでいる
  • OpenResty XRay は性能ボトルネックの「根本原因」をどう特定するか
  • 性能ボトルネックの定量的な真実
  • 経験から方法論へ
  • 性能問題は意外なところに潜んでいる
  • OpenResty XRay は性能ボトルネックの「根本原因」をどう特定するか
  • 性能ボトルネックの定量的な真実
  • 経験から方法論へ

Nginx C++ モジュールのメモリリーク:本番環境で再起動なしに根本原因を特定

  • 本番環境の難題:GDB でデバッグできない C++ モジュールのメモリリーク
  • フレームグラフで ngx_dubbo_module 内のリーク関数を特定する方法
  • 受動的な対応から能動的な支援へ:XRay が実現するトラブルシューティングの新たなサイクル
  • まとめ
Photo by 章亦春
  • 本番環境の難題:GDB でデバッグできない C++ モジュールのメモリリーク
  • フレームグラフで ngx_dubbo_module 内のリーク関数を特定する方法
  • 受動的な対応から能動的な支援へ:XRay が実現するトラブルシューティングの新たなサイクル
  • まとめ

非侵入型 Java プロファイラ:Java Agent なしで本番環境のメソッド引数をキャプチャ

  • なぜ非侵入型 Java プロファイリングが本番環境で重要なのか
  • 実践デモ:本番環境で Java メソッド引数をキャプチャ
  • OpenResty XRay と一般的な Java プロファイラの違い
  • よくある質問
  • なぜ非侵入型 Java プロファイリングが本番環境で重要なのか
  • 実践デモ:本番環境で Java メソッド引数をキャプチャ
  • OpenResty XRay と一般的な Java プロファイラの違い
  • よくある質問

OpenResty XRay:Node.js 関数プローブによる新監視パラダイムの実現

  • なぜ非侵入型関数プローブという新しいパラダイムが必要なのか?
  • 実践デモ:関数パラメータの監視
  • トップチームはいかにして非侵入型プローブを活用し、開発生産性を向上させているのか?
  • まとめ
  • なぜ非侵入型関数プローブという新しいパラダイムが必要なのか?
  • 実践デモ:関数パラメータの監視
  • トップチームはいかにして非侵入型プローブを活用し、開発生産性を向上させているのか?
  • まとめ

300 RPS で頭打ちの Nginx Worker プロセス:原因は 75 ミリ秒のイベントループ・ブロッキング

  • 負荷は高いのに仕事が進まない:worker_cpu_affinity 欠落による CPU リソース競合
  • ブロッキング Lua I/O 呼び出しが Nginx イベントループを停止させた仕組み
  • ファイル I/O レイテンシーの測定:1 回あたり最大 1.5 ミリ秒
  • Nginx イベントループのブロッキングはどれほど深刻だったか:43,952 サンプル、最大 75 ミリ秒
  • よくある質問
  • 負荷は高いのに仕事が進まない:worker_cpu_affinity 欠落による CPU リソース競合
  • ブロッキング Lua I/O 呼び出しが Nginx イベントループを停止させた仕組み
  • ファイル I/O レイテンシーの測定:1 回あたり最大 1.5 ミリ秒
  • Nginx イベントループのブロッキングはどれほど深刻だったか:43,952 サンプル、最大 75 ミリ秒
  • よくある質問

オンライン Node.js アプリケーションの CPU 使用状況分析(OpenResty XRay を使用)

  • Node.js アプリケーションにおける高 CPU 使用率の問題
  • Node.js アプリケーションにおける CPU ブロッキングの問題
  • サポートされている Node.js バージョンとオペレーティングシステム
  • 自動サンプリングと専門家による分析
  • パフォーマンスへの影響と追加負荷
  • 今後の計画
Photo by Yichun Zhang
  • Node.js アプリケーションにおける高 CPU 使用率の問題
  • Node.js アプリケーションにおける CPU ブロッキングの問題
  • サポートされている Node.js バージョンとオペレーティングシステム
  • 自動サンプリングと専門家による分析
  • パフォーマンスへの影響と追加負荷
  • 今後の計画

クラッシュから根本原因まで:OpenResty XRay が Nginx メモリ破壊問題を明確に分析する方法

  • 事例の背景:ログでは説明できない Nginx ワーカープロセスの頻繁なクラッシュ
  • 記録ファイルの分析:クラッシュを「第一現場」まで巻き戻して再生する
  • 根本原因:Nginx 接続ライフサイクルにおける Use-After-Free
  • よくある質問(FAQ)
Photo by 章亦春
  • 事例の背景:ログでは説明できない Nginx ワーカープロセスの頻繁なクラッシュ
  • 記録ファイルの分析:クラッシュを「第一現場」まで巻き戻して再生する
  • 根本原因:Nginx 接続ライフサイクルにおける Use-After-Free
  • よくある質問(FAQ)

UDB + OpenResty XRay:OpenResty アプリケーションのパフォーマンスの謎を解き明かす

  • OpenResty XRay と UDB の連携による効率化
  • 実践:UDB と OpenResty XRay を用いた OpenResty アプリケーションにおける Lua コード呼び出しスタックの分析
  • 時間遡行デバッグの利点
  • まとめ
Photo by 章亦春
  • OpenResty XRay と UDB の連携による効率化
  • 実践:UDB と OpenResty XRay を用いた OpenResty アプリケーションにおける Lua コード呼び出しスタックの分析
  • 時間遡行デバッグの利点
  • まとめ

UDB と OpenResty XRay による Perl コード実行全プロセスの可視化

  • UDB とは?
  • 実践:OpenResty XRay と UDB を使用した Perl アプリケーションのコードコールスタック分析
  • なぜ、より多くの開発者が UDB を選択するのでしょうか?
  • まとめ
Photo by 章亦春
  • UDB とは?
  • 実践:OpenResty XRay と UDB を使用した Perl アプリケーションのコードコールスタック分析
  • なぜ、より多くの開発者が UDB を選択するのでしょうか?
  • まとめ

Java ファイル I/O をタイムトラベルコールスタックでデバッグする方法

  • Java ファイル I/O における IDE ブレークポイントと coredump の限界
  • Native write() システムコールからの完全な Java コールスタック再構築
  • タイムトラベル再生による Java ファイル I/O の段階的デバッグ
  • よくある質問
Photo by 章亦春
  • Java ファイル I/O における IDE ブレークポイントと coredump の限界
  • Native write() システムコールからの完全な Java コールスタック再構築
  • タイムトラベル再生による Java ファイル I/O の段階的デバッグ
  • よくある質問

UDB のタイムトラベル機能を活用し、Python コードの実行プロセスを解明

  • Python デバッグにおける UDB の独自の価値
  • OpenResty XRay との連携によるデバッグ能力の強化
  • 実践事例:Python のネットワークリクエストにおけるコールスタックの分析
  • まとめ
Photo by 章亦春
  • Python デバッグにおける UDB の独自の価値
  • OpenResty XRay との連携によるデバッグ能力の強化
  • 実践事例:Python のネットワークリクエストにおけるコールスタックの分析
  • まとめ

OpenResty の LRU キャッシュに起因するメモリリークを追跡する —— 根本原因はキャッシュされた SSL 証明書

  • なぜ低トラフィックの OpenResty アプリがメモリをリークし続けたのか
  • LRU キャッシュのメモリリークを一歩ずつ追跡する全過程
  • 最終結果:無限の増加から安定したメモリへ
Photo by 章亦春
  • なぜ低トラフィックの OpenResty アプリがメモリをリークし続けたのか
  • LRU キャッシュのメモリリークを一歩ずつ追跡する全過程
  • 最終結果:無限の増加から安定したメモリへ

Nginx Worker の CPU 使用率の偏り:reuseport 未設定と cjson ボトルネックを特定

  • 症状:一部の Nginx Worker プロセスだけ CPU が張り付き、他はアイドル状態
  • OpenResty XRay による根本原因の特定
  • 修正:3 つの最適化とそれぞれの実測効果
  • 要約:OpenResty XRay が数分で特定した内容
  • よくある質問
Photo by 章亦春
  • 症状:一部の Nginx Worker プロセスだけ CPU が張り付き、他はアイドル状態
  • OpenResty XRay による根本原因の特定
  • 修正:3 つの最適化とそれぞれの実測効果
  • 要約:OpenResty XRay が数分で特定した内容
  • よくある質問

動的トレースの万能ツール:Y 言語が動的トレースを簡単にする方法

  • モダンソフトウェアアーキテクチャにおける問題解決がますます難しくなっている理由
  • 可観測性技術の進化と将来展望
  • 動的トレース技術はどのように抽象化レイヤーを通過するのか?
  • 「時間+空間」二次元トラッキングモデル
  • 実践事例:オンライン Kong サービスにおけるプラグインリソース消費のリアルタイム統計
Photo by 章亦春
  • モダンソフトウェアアーキテクチャにおける問題解決がますます難しくなっている理由
  • 可観測性技術の進化と将来展望
  • 動的トレース技術はどのように抽象化レイヤーを通過するのか?
  • 「時間+空間」二次元トラッキングモデル
  • 実践事例:オンライン Kong サービスにおけるプラグインリソース消費のリアルタイム統計

OpenResty XRay の画期的なアップデート:Java アプリケーションのメモリと Envoy Lua のパフォーマンスを非侵入で分析

  • 非侵入で、Java アプリケーションのメモリを徹底解明
  • Envoy 内の Lua パフォーマンス・ブラックボックスを初めて解明
  • 挑戦は続いています
Photo by 章亦春
  • 非侵入で、Java アプリケーションのメモリを徹底解明
  • Envoy 内の Lua パフォーマンス・ブラックボックスを初めて解明
  • 挑戦は続いています

動的トレーシング技術の深層:OpenResty XRay がどのように問題診断方法を根本的に変革するか

  • 動的トレーシング:複雑なシステム問題を解決する強力なツール
  • なぜ OpenResty XRay をお選びいただくべきか?
  • 製品フォーカス:実際のシナリオにおける XRay の適用事例
  • よくある誤解と FAQ:動的トレースについて知っておきたいこと
Photo by 章亦春
  • 動的トレーシング:複雑なシステム問題を解決する強力なツール
  • なぜ OpenResty XRay をお選びいただくべきか?
  • 製品フォーカス:実際のシナリオにおける XRay の適用事例
  • よくある誤解と FAQ:動的トレースについて知っておきたいこと

動的トレーシングの実装が難しい理由とは?OpenResty XRay はどのようにこの課題を解決するのか?

  • 動的トレース技術の実装における課題
  • OpenResty XRay:次世代動的トレーシングソリューション
  • 結語:動的トレースの未来
Photo by 章亦春
  • 動的トレース技術の実装における課題
  • OpenResty XRay:次世代動的トレーシングソリューション
  • 結語:動的トレースの未来

ログ、イベントトラッキング、A/B テストだけでは不十分?「動的トレーシング」を理解すべき時期

  • 従来の方法 vs 動的トレーシング:効率性と制御力の革命
  • 動的トレース:システムの「透視眼」
  • フレームグラフからシステム全体像へ
  • OpenResty XRay を選ぶ理由
  • 可観測性の未来:動的トレースの新境地
Photo by 章亦春
  • 従来の方法 vs 動的トレーシング:効率性と制御力の革命
  • 動的トレース:システムの「透視眼」
  • フレームグラフからシステム全体像へ
  • OpenResty XRay を選ぶ理由
  • 可観測性の未来:動的トレースの新境地

可観測性の次なる段階:OpenResty XRay が問題解決を再定義する方法

  • モダンソフトウェアアーキテクチャにおける問題解決がますます難しくなっている理由
  • 可観測性技術の進化と将来展望
  • 動的トレース技術はどのように抽象化レイヤーを通過するのか?
  • 「時間+空間」二次元トラッキングモデル
  • 実践事例:オンライン Kong サービスにおけるプラグインリソース消費のリアルタイム統計
Photo by 章亦春
  • モダンソフトウェアアーキテクチャにおける問題解決がますます難しくなっている理由
  • 可観測性技術の進化と将来展望
  • 動的トレース技術はどのように抽象化レイヤーを通過するのか?
  • 「時間+空間」二次元トラッキングモデル
  • 実践事例:オンライン Kong サービスにおけるプラグインリソース消費のリアルタイム統計

ブラックボックスからホワイトボックスへ:OpenResty XRay でシステム問題を可視化する

  • ブラックボックスをホワイトボックスに変える動的トレースツール
  • 多角的な総合分析能力
  • 実例紹介
  • 製品ビジョン
Photo by 章亦春
  • ブラックボックスをホワイトボックスに変える動的トレースツール
  • 多角的な総合分析能力
  • 実例紹介
  • 製品ビジョン

自己最適化:OpenResty XRay の性能変革

  • 課題と痛点
  • OpenResty XRay の自己分析プロセス
  • 驚くべき最適化の成果
  • 技術的洞察とビジネス価値
Photo by 章亦春
  • 課題と痛点
  • OpenResty XRay の自己分析プロセス
  • 驚くべき最適化の成果
  • 技術的洞察とビジネス価値

OpenResty XRay によるスクリプトパフォーマンスの 44 倍向上

  • 実例:ボトルネックの発見から大幅な高速化まで
  • OpenResty XRay の動作原理
  • 最適化の効果
  • 適用シナリオと実践的なアドバイス
Photo by 章亦春
  • 実例:ボトルネックの発見から大幅な高速化まで
  • OpenResty XRay の動作原理
  • 最適化の効果
  • 適用シナリオと実践的なアドバイス

C++ による C++ アプリケーションの動的トレーシング技術

  • 対象 C++ プログラムを設定
  • C++(または Y++)アナライザーの作成
  • 対象プログラムとアナライザーの実行
  • 複雑な C++ アプリケーションのサポート強化
  • デバッグシンボルについて
  • 結論
Photo by 章亦春
  • 対象 C++ プログラムを設定
  • C++(または Y++)アナライザーの作成
  • 対象プログラムとアナライザーの実行
  • 複雑な C++ アプリケーションのサポート強化
  • デバッグシンボルについて
  • 結論

Java Tomcat のレスポンスが遅い:リクエスト単位の PCAP で遅いリクエストをピンポイント特定

  • Tomcat のレスポンス遅延を診断、遅いリクエストをピンポイントで捕捉
  • 選択的パケットキャプチャ:レスポンス時間・ステータス・パスでフィルタ
  • リクエスト単位で PCAP をダウンロード
  • サーバー側遅延とネットワーク遅延を切り分け
  • Tomcat を内蔵した Spring Boot アプリにも対応
Photo by 章亦春
  • Tomcat のレスポンス遅延を診断、遅いリクエストをピンポイントで捕捉
  • 選択的パケットキャプチャ:レスポンス時間・ステータス・パスでフィルタ
  • リクエスト単位で PCAP をダウンロード
  • サーバー側遅延とネットワーク遅延を切り分け
  • Tomcat を内蔵した Spring Boot アプリにも対応
お問い合わせ

ご意見・ご感想をお待ちしております 👋

メッセージを送信しました!

専門家チームが24時間以内にご連絡いたします。
x