- 問題点
- 分析
- 解決策
- 結果
← Back
Openresty-Xray
巨大な Nginx 設定による メモリフラグメンテーションの最適化
- 課題
- 分析
- 解決策
- 結果

- 課題
- 分析
- 解決策
- 結果
OpenResty XRay についての FAQ
OpenResty XRay 製品のための「よくある質問」ドキュメントを作成

OpenResty XRay 製品のための「よくある質問」ドキュメントを作成
OpenResty XRay の自動分析レポート
- 過去
- 現在
- 将来

- 過去
- 現在
- 将来
OpenResty XRay による ビリビリ動画の重大なオンライン障害の分析と解決
- 障害の説明
- 障害分析のプロセス
- 障害後の修復と強化
- OpenResty XRay の製品とサービス

- 障害の説明
- 障害分析のプロセス
- 障害後の修復と強化
- OpenResty XRay の製品とサービス
OpenResty または Nginx プロセスにおける最も遅い PCRE 正規表現のトレース
- システム環境
- 推測せずに原因を絞り込む
- PCRE の実行オーバーヘッドの制限
- バックトラッキングを行わない正規表現エンジン
- Lua の組み込みパターン
- コンテナ内のアプリケーションのトレース
- ツールの実装方法
- ツールのオーバーヘッド

- システム環境
- 推測せずに原因を絞り込む
- PCRE の実行オーバーヘッドの制限
- バックトラッキングを行わない正規表現エンジン
- Lua の組み込みパターン
- コンテナ内のアプリケーションのトレース
- ツールの実装方法
- ツールのオーバーヘッド
OpenResty または Nginx プロセスにおける読み込み済み Lua モジュールの一覧表示
- システム環境
- 読み込み済み Lua モジュールの名前
- Web コンソールで直接実行
- コンテナ内のアプリケーションのトレース
- ツールの実装方法
- ツールのオーバーヘッド

- システム環境
- 読み込み済み Lua モジュールの名前
- Web コンソールで直接実行
- コンテナ内のアプリケーションのトレース
- ツールの実装方法
- ツールのオーバーヘッド
OpenResty または Nginx における最も CPU を消費するリクエストの分析
- システム環境
- CPU 使用率が最も高いリクエストのホスト名
- CPU 使用率が最も高いリクエストの URI
- さらに深く掘り下げる
- Web コンソールで直接実行する
- コンテナ内のアプリケーションのトレース
- ツールの実装方法
- ツールのオーバーヘッド

- システム環境
- CPU 使用率が最も高いリクエストのホスト名
- CPU 使用率が最も高いリクエストの URI
- さらに深く掘り下げる
- Web コンソールで直接実行する
- コンテナ内のアプリケーションのトレース
- ツールの実装方法
- ツールのオーバーヘッド
メモリ使用量が 60% 削減、OpenResty XRay で問題コードを正確に特定し、迅速に修正・デプロイを実現
- worker プロセスのメモリ使用量が高い問題について
- OpenResty XRay による分析プロセス
- worker プロセスのメモリが解放されない疑問について

- worker プロセスのメモリ使用量が高い問題について
- OpenResty XRay による分析プロセス
- worker プロセスのメモリが解放されない疑問について
Lua レベル CPU フレームグラフの概要
- フレームグラフとは何か
- 簡単な Lua の例
- 複雑な Lua アプリケーション
- サンプリングのオーバーヘッド
- セキュリティ
- 互換性
- その他の種類の Lua レベルフレームグラフ

- フレームグラフとは何か
- 簡単な Lua の例
- 複雑な Lua アプリケーション
- サンプリングのオーバーヘッド
- セキュリティ
- 互換性
- その他の種類の Lua レベルフレームグラフ
OpenResty と Nginx の共有メモリ領域におけるメモリフラグメンテーションの問題
- 空の共有メモリ領域
- 類似サイズのエントリで埋める
- 奇数キーの削除
- 前半部分のキーの削除
- メモリフラグメンテーションの緩和

- 空の共有メモリ領域
- 類似サイズのエントリで埋める
- 奇数キーの削除
- 前半部分のキーの削除
- メモリフラグメンテーションの緩和
OpenResty と Nginx の共有メモリ領域が物理メモリをどのように消費するか
- Slab とメモリページ
- 割り当てられたメモリが必ずしも消費されるわけではない
- 偽のメモリリーク
- HUP による再読み込み

- Slab とメモリページ
- 割り当てられたメモリが必ずしも消費されるわけではない
- 偽のメモリリーク
- HUP による再読み込み
OpenResty と Nginx のメモリ割り当てと管理方法
- Nginx のメモリ使用量を確認する方法
- システムレベル
- アプリケーションレベル
- 従来の Nginx サーバー
- FAQ: Nginx はどれだけのメモリを必要とするか

- Nginx のメモリ使用量を確認する方法
- システムレベル
- アプリケーションレベル
- 従来の Nginx サーバー
- FAQ: Nginx はどれだけのメモリを必要とするか
LuaJIT GC64 モード
- 旧メモリ制限
- このメモリ制限に遭遇する時期
- メモリ制限はプロセスごと
- GC が管理するメモリ
- GC が管理しないメモリ
- x64 モードのメモリ上限を 4 GB に引き上げる
- 新しい GC64 モード
- GC64 モードの有効化方法
- パフォーマンスへの影響
- デバッグ分析ツールチェーン

- 旧メモリ制限
- このメモリ制限に遭遇する時期
- メモリ制限はプロセスごと
- GC が管理するメモリ
- GC が管理しないメモリ
- x64 モードのメモリ上限を 4 GB に引き上げる
- 新しい GC64 モード
- GC64 モードの有効化方法
- パフォーマンスへの影響
- デバッグ分析ツールチェーン
動的トレース技術についての雑談
- 動的トレーシングとは
- 動的トレーシングの利点
- DTrace と SystemTap
- SystemTap の実運用での活用
- フレームグラフ
- 方法論
- 知識は力なり
- オープンソースとデバッグシンボル
- Linux カーネルのサポート
- ハードウェアトレーシング
- 終了プロセスの解析
- 従来のデバッグ技術
- 混沌としたデバッグの世界
- OpenResty XRay

- 動的トレーシングとは
- 動的トレーシングの利点
- DTrace と SystemTap
- SystemTap の実運用での活用
- フレームグラフ
- 方法論
- 知識は力なり
- オープンソースとデバッグシンボル
- Linux カーネルのサポート
- ハードウェアトレーシング
- 終了プロセスの解析
- 従来のデバッグ技術
- 混沌としたデバッグの世界
- OpenResty XRay
