精选文章

Photo by Philip Brown

動的トレーシング技術概説

動的トレーシング技術概説

Photo by OpenResty Inc.

OpenResty XRay による ビリビリ動画の重大なオンライン障害の分析と解決

OpenResty XRay による ビリビリ動画の重大なオンライン障害の分析と解決

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

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

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

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

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

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

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

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

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

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

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

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

Photo by Jose G. Ortega Castro

OpenResty と Nginx の共有メモリ領域が物理メモリをどのように消費するか

OpenResty と Nginx の共有メモリ領域が物理メモリをどのように消費するか

Photo by Harrison Broadbent

OpenResty と Nginx のメモリ割り当てと管理方法

OpenResty と Nginx のメモリ割り当てと管理方法

OpenResty XRay で、パフォーマンスを大幅に向上し、CPU使用率を即座に削減  90%
OpenResty XRay で、パフォーマンスを大幅に向上し、CPU使用率を即座に削減 90%
無料トライアルを申し込む

最新記事

Ylang実践編:コンテナトレース、スタック展開とCore Dump分析(第4回、全4回)

  • コンテナを透過的に横断するトレース機能
    • 効率的なスタックアンワインディング
    • 終了したプロセスの分析(core dumps)
    • 極めて低いトレーシングオーバーヘッド
    • 標準 Ylang ライブラリとツール
    • ネットワークフィルタリングと制御
    • Ylang コンパイラの実装
    • オペレーティングシステムのサポート
    • オープンソースコミュニティへの貢献
    • 結論
    • 謝辞
Photo by 章亦春
  • コンテナを透過的に横断するトレース機能
    • 効率的なスタックアンワインディング
    • 終了したプロセスの分析(core dumps)
    • 極めて低いトレーシングオーバーヘッド
    • 標準 Ylang ライブラリとツール
    • ネットワークフィルタリングと制御
    • Ylang コンパイラの実装
    • オペレーティングシステムのサポート
    • オープンソースコミュニティへの貢献
    • 結論
    • 謝辞

Go サービスの CPU 使用率が異常に低い:稼働中プロセスの off-CPU 分析でブロッキングの根本原因を特定

  • 症状:リクエストが増えても Go サービスの CPU 使用率が上がらない
  • 稼働中の Go プロセスを OpenResty XRay で off-CPU 分析
  • 根因:ブロッキングなシェルコマンド呼び出し
  • 自動分析と日次・週次レポート
  • 症状:リクエストが増えても Go サービスの CPU 使用率が上がらない
  • 稼働中の Go プロセスを OpenResty XRay で off-CPU 分析
  • 根因:ブロッキングなシェルコマンド呼び出し
  • 自動分析と日次・週次レポート

Go 高 CPU 使用率:正規表現のコンパイルが CPU 時間の 36.8% を消費

  • Go プロセスの高 CPU 使用率を観察する
  • OpenResty XRay で Go の CPU 使用率をプロファイリングする
  • 自動モニタリングとレポート
  • OpenResty XRay について
  • Go プロセスの高 CPU 使用率を観察する
  • OpenResty XRay で Go の CPU 使用率をプロファイリングする
  • 自動モニタリングとレポート
  • OpenResty XRay について

Ylang:正規表現、完全な制御フローと透過的デバッグシンボル処理(第3回、全4回)

  • Ylang の文法(前回の続き)
    • 文字列
    • 組み込み正規表現サポート
    • 完全な制御フロー機能のサポート
    • 浮動小数点数のサポート
    • オープンソースツールチェーンとの比較
  • 透過的なデバッグシンボル処理
    • デバッグシンボル:実行時のシステムオーバーヘッドなし
    • 集中管理されたパッケージデータベース
    • デバッグシンボルのファジーマッチング
Photo by 章亦春
  • Ylang の文法(前回の続き)
    • 文字列
    • 組み込み正規表現サポート
    • 完全な制御フロー機能のサポート
    • 浮動小数点数のサポート
    • オープンソースツールチェーンとの比較
  • 透過的なデバッグシンボル処理
    • デバッグシンボル:実行時のシステムオーバーヘッドなし
    • 集中管理されたパッケージデータベース
    • デバッグシンボルのファジーマッチング

Python プロセスの CPU 使用率が 8% のまま:off-CPU 分析でブロッキング subprocess.run 呼び出しを特定

  • 症状:リクエストが殺到しても Python プロセスの CPU 使用率が上がらない
  • OpenResty XRay の Guided Analysis でブロッキング Python コードパスを特定
  • Insights ページの自動分析とレポート
  • FAQ
  • 症状:リクエストが殺到しても Python プロセスの CPU 使用率が上がらない
  • OpenResty XRay の Guided Analysis でブロッキング Python コードパスを特定
  • Insights ページの自動分析とレポート
  • FAQ

OpenResty XRay を使用して Linux カーネルのトレースサブシステムにおける 2 つのバグを捕捉

  • ユーザー空間メモリ読み取り時のカーネルデッドロック
  • カーネル内の x86 ブレークポイント挿入におけるデータ競合
  • ユーザー空間メモリ読み取り時のカーネルデッドロック
  • カーネル内の x86 ブレークポイント挿入におけるデータ競合

Perl 高CPU使用率:フレームグラフで正規表現ホットスポットを特定(CPU 100%の原因追跡)

  • 問題: 高 CPU 使用率
  • OpenResty XRay のガイド付き分析機能を使用して最も CPU 使用率の高い Perl コードパスを特定
  • 自動分析とレポート
  • OpenResty XRay について
  • 問題: 高 CPU 使用率
  • OpenResty XRay のガイド付き分析機能を使用して最も CPU 使用率の高い Perl コードパスを特定
  • 自動分析とレポート
  • OpenResty XRay について

Lua の CPU 使用率が高いとき:Nginx/OpenResty で最もホットな Lua コードパスを特定する

  • 症状:Nginx ワーカープロセスが CPU をほぼ 100% 使用
  • 「Guided Analysis」で最もホットな Lua コードパスを特定
  • Insights レポートで Lua CPU 使用率を自動監視
  • よくある質問
  • 症状:Nginx ワーカープロセスが CPU をほぼ 100% 使用
  • 「Guided Analysis」で最もホットな Lua コードパスを特定
  • Insights レポートで Lua CPU 使用率を自動監視
  • よくある質問

Kong プラグインの CPU 高騰:pcall に隠れた Lua 例外をフレームグラフで特定

  • 問題:トラフィックは低いのに Kong プラグインの CPU が高騰
  • OpenResty XRay のフレームグラフによる CPU ボトルネックの特定
  • 結果:Kong の CPU 使用率が 80% から 50% に低下
Photo by 章亦春
  • 問題:トラフィックは低いのに Kong プラグインの CPU が高騰
  • OpenResty XRay のフレームグラフによる CPU ボトルネックの特定
  • 結果:Kong の CPU 使用率が 80% から 50% に低下

Kong プラグインの CPU・メモリ使用量:最も消費するプラグインをオンラインで特定(OpenResty XRay)

  • サーバープロセス内のすべての Kong プラグインの CPU 使用状況
  • サーバープロセス内のすべての Kong プラグインのメモリ使用状況
  • サーバーへの追加負荷
  • 今後の展開
Photo by 章亦春
  • サーバープロセス内のすべての Kong プラグインの CPU 使用状況
  • サーバープロセス内のすべての Kong プラグインのメモリ使用状況
  • サーバーへの追加負荷
  • 今後の展開

Ylang: eBPF、SystemTap、GDB などのフレームワーク向け動的トレーシング言語(第1回、全4回)

  • 動的トレーシングとは
  • なぜ「Y」と名付けたのか
  • Ylang 入門
  • 動的トレーシングバックエンド:eBPF+、Stap+、GDB、ODB
  • なぜ動的トレーシングに統一されたフロントエンド言語が必要なのか
  • Ylang の構文:C との真の互換性
  • よくある質問
Photo by 章亦春
  • 動的トレーシングとは
  • なぜ「Y」と名付けたのか
  • Ylang 入門
  • 動的トレーシングバックエンド:eBPF+、Stap+、GDB、ODB
  • なぜ動的トレーシングに統一されたフロントエンド言語が必要なのか
  • Ylang の構文:C との真の互換性
  • よくある質問

遅延した TCP 接続のみのパケットキャプチャ:Nginx リクエストボディ読み取りの 200ms 遅延を追跡

  • 課題
  • 分析プロセス:遅延した TCP 接続のパケットキャプチャ
  • 完全自動化された分析
  • OpenResty XRay とは
Photo by 章亦春
  • 課題
  • 分析プロセス:遅延した TCP 接続のパケットキャプチャ
  • 完全自動化された分析
  • OpenResty XRay とは

EdgeLang とは?OpenResty Edge のゲートウェイ DSL — ルールを効率的で安全な Lua にコンパイル

  • EdgeLang とは?
  • なぜ手書きの Lua ではなく EdgeLang を選ぶのか?
  • EdgeLang はどこで使われるか:ページルールと WAF
  • よくある質問
  • EdgeLang とは?
  • なぜ手書きの Lua ではなく EdgeLang を選ぶのか?
  • EdgeLang はどこで使われるか:ページルールと WAF
  • よくある質問

リークした Lua テーブルを特定する:registry / _LOADED(package.loaded)参照パス · OpenResty XRay

  • LuaJIT のメモリ管理方法
  • OpenResty XRay のコマンドラインツール
  • Lua テーブルのリーク例
  • LuaJIT GC オブジェクト種別ごとのメモリ内訳
  • lj-gco-ref フレームグラフの読み方:registry、_LOADED、package.loaded
  • 完全自動の Lua メモリリーク分析
  • LuaJIT のメモリ管理方法
  • OpenResty XRay のコマンドラインツール
  • Lua テーブルのリーク例
  • LuaJIT GC オブジェクト種別ごとのメモリ内訳
  • lj-gco-ref フレームグラフの読み方:registry、_LOADED、package.loaded
  • 完全自動の Lua メモリリーク分析

YSQL 言語を使用した Nginx プロセスのリアルタイムリクエスト数カウント

  • run-ysql ツールのインストール方法
  • リアルタイムの総リクエスト数の統計
  • 特定のリクエストのフィルタリング
  • Web コンソールでの YSQL の使用
  • 真の非侵襲的トレーシング
Photo by 章亦春
  • run-ysql ツールのインストール方法
  • リアルタイムの総リクエスト数の統計
  • 特定のリクエストのフィルタリング
  • Web コンソールでの YSQL の使用
  • 真の非侵襲的トレーシング

OpenResty Edge で hCaptcha を有効にする方法(ページルールと WAF)

  • グローバル設定で hCaptcha のキーを設定する
  • ページルールのアクションで hCaptcha を有効にする
  • CAPTCHA 検証をテストする
  • hCaptcha を WAF のブロックアクションに設定する
  • グローバル設定で hCaptcha のキーを設定する
  • ページルールのアクションで hCaptcha を有効にする
  • CAPTCHA 検証をテストする
  • hCaptcha を WAF のブロックアクションに設定する

OpenResty Edge で SNI プロキシを設定する方法:復号せずに SNI ホスト名で TLS をルーティング

  • SNI Proxy タイプの Stream アプリケーションを作成する
  • アップストリームと SNI サーバー名のページルールを作成する
  • ゲートウェイパーティションに SNI Proxy ポートを追加する
  • curl とブラウザで SNI プロキシをテストする
  • SNI Proxy タイプの Stream アプリケーションを作成する
  • アップストリームと SNI サーバー名のページルールを作成する
  • ゲートウェイパーティションに SNI Proxy ポートを追加する
  • curl とブラウザで SNI プロキシをテストする
お問い合わせ

OpenResty オープンソースコミュニティ

ぜひご参加いただき、アイデアや課題についてご意見をお聞かせください。皆様とお会いできることを心待ちにしております!


limited time offer

Request TRIAL today and receive a diagnostic REPORT
Learn more

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

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

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