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

  • 良好な平均値の裏に潜むレイテンシースパイクと CPU の浪費
  • コード変更・再起動なしで行う OpenResty レイテンシーのトラブルシューティング
  • 最適化の結果:レイテンシースパイクの解消と CPU 使用率 30% 削減
  • よくある質問
  • 良好な平均値の裏に潜むレイテンシースパイクと CPU の浪費
  • コード変更・再起動なしで行う OpenResty レイテンシーのトラブルシューティング
  • 最適化の結果:レイテンシースパイクの解消と CPU 使用率 30% 削減
  • よくある質問

Gzip CPU 使用率が高い原因:圧縮レベル 6 が CPU の 54% を消費した実例

  • 本番環境で Gzip 圧縮が CPU の 54% を消費していた経緯
  • Gzip の CPU 使用率が高かった原因:設定パラメータレベルの診断
  • Gzip と Brotli の CPU オーバーヘッドを定量化する
  • 勘に頼る調整からデータ駆動の圧縮チューニングへ
  • 本番環境で Gzip 圧縮が CPU の 54% を消費していた経緯
  • Gzip の CPU 使用率が高かった原因:設定パラメータレベルの診断
  • Gzip と Brotli の CPU オーバーヘッドを定量化する
  • 勘に頼る調整からデータ駆動の圧縮チューニングへ

非侵入型 Node.js CPU プロファイリング:フレームグラフによる実践分析

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

Java アプリケーションプロファイリング:CPU、Off-CPU、ディスク I/O を Safepoint バイアスなしで分析

  • フレームグラフで Java CPU ホットスポットをプロファイリング
  • Off-CPU Java プロファイリング:ロック競合とブロッキング分析
  • Java ディスク I/O プロファイリング:ファイルとソケットの書き込みを追跡
  • OpenJDK 8/11/17/21 アプリケーションプロファイリング対応
  • 自動サンプリングと専門家分析
  • パフォーマンスへの影響とオーバーヘッド
  • よくある質問
Photo by 章亦春
  • フレームグラフで Java CPU ホットスポットをプロファイリング
  • Off-CPU Java プロファイリング:ロック競合とブロッキング分析
  • Java ディスク I/O プロファイリング:ファイルとソケットの書き込みを追跡
  • OpenJDK 8/11/17/21 アプリケーションプロファイリング対応
  • 自動サンプリングと専門家分析
  • パフォーマンスへの影響とオーバーヘッド
  • よくある質問

Erlang 高 CPU 使用率:フレームグラフで特定した PCRE 正規表現のボトルネック

  • Erlang プロセスの 200% 超 CPU 使用率の観測
  • OpenResty XRay による Erlang CPU 使用率のプロファイリング
  • C レベル分析:erts_pcre_exec と PCRE バックトラッキング
  • BEAM VM における PCRE 正規表現バックトラッキングが高コストな理由
  • 自動監視とレポート
  • FAQ:Erlang 高 CPU 使用率
  • OpenResty XRay について
  • Erlang プロセスの 200% 超 CPU 使用率の観測
  • OpenResty XRay による Erlang CPU 使用率のプロファイリング
  • C レベル分析:erts_pcre_exec と PCRE バックトラッキング
  • BEAM VM における PCRE 正規表現バックトラッキングが高コストな理由
  • 自動監視とレポート
  • FAQ:Erlang 高 CPU 使用率
  • OpenResty XRay について

Nginx で No debugging symbols found?OpenResty XRay が自動で再構築

  • Nginx が strip され、デバッグシンボルが欠落していることの確認
  • 欠落した Nginx デバッグシンボルを自動再構築——再コンパイル不要
  • 継続的な分析:日次・週次の Insights レポート
  • よくある質問:nginx-dbg、再コンパイル、strip 済みバイナリの分析
  • Nginx が strip され、デバッグシンボルが欠落していることの確認
  • 欠落した Nginx デバッグシンボルを自動再構築——再コンパイル不要
  • 継続的な分析:日次・週次の Insights レポート
  • よくある質問:nginx-dbg、再コンパイル、strip 済みバイナリの分析

Envoy CPU プロファイリング:フレームグラフで C++ ホットパスを特定

  • シナリオ:Envoy プロセスの CPU 使用率が 90% 超
  • C++ フレームグラフによる Envoy CPU プロファイリング
  • 自動化レポートによる継続的 CPU 監視
  • OpenResty XRay について
  • FAQ:Envoy CPU プロファイリング
  • シナリオ:Envoy プロセスの CPU 使用率が 90% 超
  • C++ フレームグラフによる Envoy CPU プロファイリング
  • 自動化レポートによる継続的 CPU 監視
  • OpenResty XRay について
  • FAQ:Envoy CPU プロファイリング

PHP 高 CPU 使用率:最もホットな PHP コードパスを特定する(OpenResty XRay)

  • 問題:高 CPU 使用率
  • どの PHP 関数が CPU を消費しているかを OpenResty XRay の Guided Analysis で特定
  • CPU フレームグラフと、最もホットな PHP・C コードパスを読み解く
  • 完全自動化された分析とレポート
  • OpenResty XRay について
  • 問題:高 CPU 使用率
  • どの PHP 関数が CPU を消費しているかを OpenResty XRay の Guided Analysis で特定
  • CPU フレームグラフと、最もホットな PHP・C コードパスを読み解く
  • 完全自動化された分析とレポート
  • OpenResty XRay について

CockroachDB の高 CPU 使用率:稼働中の Go サーバーをフレームグラフでプロファイリング

  • 問題:CockroachDB の高 CPU 使用率
  • Guided Analysis で最も CPU を消費する Go コードパスを特定する
  • 自動 CPU 分析とレポート
  • OpenResty XRay について
  • 問題:CockroachDB の高 CPU 使用率
  • Guided Analysis で最も CPU を消費する Go コードパスを特定する
  • 自動 CPU 分析とレポート
  • OpenResty XRay について

Rust CPU プロファイリング:OpenResty XRay で Sled の最もホットなコードパスを特定

  • 問題:Sled ベースのキャッシュサービスが 100% 超の CPU を消費
  • Guided Analysis による実行中の Rust プロセスのプロファイリング
  • Rust CPU フレームグラフの解読:最もホットなコードパス
  • 2 番目にホットなコードパス:get_inner と view_for_key
  • 自動生成される Rust CPU 分析レポート
  • よくある質問
  • 問題:Sled ベースのキャッシュサービスが 100% 超の CPU を消費
  • Guided Analysis による実行中の Rust プロセスのプロファイリング
  • Rust CPU フレームグラフの解読:最もホットなコードパス
  • 2 番目にホットなコードパス:get_inner と view_for_key
  • 自動生成される Rust CPU 分析レポート
  • よくある質問

etcd の高 CPU 使用率:フレームグラフで最も CPU を消費する Go コードパスを特定

  • 問題症状:etcd が CPU コアの 70% 以上を消費
  • OpenResty XRay のガイド付き分析で最も CPU を消費する Go コードパスを特定
  • etcd CPU の自動監視とレポート
  • OpenResty XRay とは
  • 問題症状:etcd が CPU コアの 70% 以上を消費
  • OpenResty XRay のガイド付き分析で最も CPU を消費する Go コードパスを特定
  • etcd CPU の自動監視とレポート
  • OpenResty XRay とは

llama.cpp の CPU 使用率:400% の CPU 消費を ggml のホットな関数まで追跡

  • llama.cpp を実行して 400% の CPU 使用率を観測
  • OpenResty XRay による llama.cpp の CPU 使用率のプロファイリング
  • 分析結果:最もホットな C++ コードパス
  • OpenResty XRay について
  • llama.cpp を実行して 400% の CPU 使用率を観測
  • OpenResty XRay による llama.cpp の CPU 使用率のプロファイリング
  • 分析結果:最もホットな C++ コードパス
  • OpenResty XRay について

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

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

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 プラグインのメモリ使用状況
  • サーバーへの追加負荷
  • 今後の展開

Nginx の CPU 使用率が高い:最も CPU を消費するリクエストを特定する

  • 前提条件と環境のセットアップ
  • どのリクエストのホスト名が最も CPU を消費するか特定する
  • どのリクエスト URI が最も CPU を消費するか特定する
  • さらに深く掘り下げる:なぜ一部のホスト名がより多くの CPU を使うのか
  • Web コンソールでツールを実行する
  • コンテナ内で Nginx の CPU 使用率をトレースする
  • CPU プロファイリングツールの仕組み
  • プロファイリングツールのオーバーヘッド
  • よくある質問
Photo by Yichun Zhang
  • 前提条件と環境のセットアップ
  • どのリクエストのホスト名が最も CPU を消費するか特定する
  • どのリクエスト URI が最も CPU を消費するか特定する
  • さらに深く掘り下げる:なぜ一部のホスト名がより多くの CPU を使うのか
  • Web コンソールでツールを実行する
  • コンテナ内で Nginx の CPU 使用率をトレースする
  • CPU プロファイリングツールの仕組み
  • プロファイリングツールのオーバーヘッド
  • よくある質問

Lua CPU フレームグラフ実践:本番環境で LuaJIT のボトルネックを特定

  • Lua CPU フレームグラフとは
  • 簡単な LuaJIT アプリで精度を検証
  • 本番環境での複雑な LuaJIT アプリのプロファイリング
  • サンプリングオーバーヘッド
  • 本番環境の安全性:ターゲットプロセスを 1 ビットも変更しない
  • 互換性
  • よくある質問
Photo by Guido Jansen
  • Lua CPU フレームグラフとは
  • 簡単な LuaJIT アプリで精度を検証
  • 本番環境での複雑な LuaJIT アプリのプロファイリング
  • サンプリングオーバーヘッド
  • 本番環境の安全性:ターゲットプロセスを 1 ビットも変更しない
  • 互換性
  • よくある質問
お問い合わせ

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

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

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