OpenResty または Nginx プロセスにおける最も遅い PCRE 正規表現のトレース

  • システム環境
  • 推測せずに原因を絞り込む
  • PCRE の実行オーバーヘッドの制限
  • バックトラッキングを行わない正規表現エンジン
  • Lua の組み込みパターン
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド
  • システム環境
  • 推測せずに原因を絞り込む
  • PCRE の実行オーバーヘッドの制限
  • バックトラッキングを行わない正規表現エンジン
  • Lua の組み込みパターン
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド

OpenResty または Nginx プロセスにおける読み込み済み Lua モジュールの一覧表示

  • システム環境
  • 読み込み済み Lua モジュールの名前
  • Web コンソールで直接実行
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド
Photo by Yichun Zhang
  • システム環境
  • 読み込み済み Lua モジュールの名前
  • Web コンソールで直接実行
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド

OpenResty または Nginx における最も CPU を消費するリクエストの分析

  • システム環境
  • CPU 使用率が最も高いリクエストのホスト名
  • CPU 使用率が最も高いリクエストの URI
  • さらに深く掘り下げる
  • Web コンソールで直接実行する
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド
Photo by Yichun Zhang
  • システム環境
  • CPU 使用率が最も高いリクエストのホスト名
  • CPU 使用率が最も高いリクエストの URI
  • さらに深く掘り下げる
  • Web コンソールで直接実行する
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド

Lua レベル CPU フレームグラフの概要

  • フレームグラフとは何か
  • 簡単な Lua の例
  • 複雑な Lua アプリケーション
  • サンプリングのオーバーヘッド
  • セキュリティ
  • 互換性
  • その他の種類の Lua レベルフレームグラフ
Photo by Guido Jansen
  • フレームグラフとは何か
  • 簡単な Lua の例
  • 複雑な Lua アプリケーション
  • サンプリングのオーバーヘッド
  • セキュリティ
  • 互換性
  • その他の種類の Lua レベルフレームグラフ

OpenResty と Nginx の共有メモリ領域におけるメモリフラグメンテーションの問題

  • 空の共有メモリ領域
  • 類似サイズのエントリで埋める
  • 奇数キーの削除
  • 前半部分のキーの削除
  • メモリフラグメンテーションの緩和
Photo by Elena Mozhvilo
  • 空の共有メモリ領域
  • 類似サイズのエントリで埋める
  • 奇数キーの削除
  • 前半部分のキーの削除
  • メモリフラグメンテーションの緩和

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

  • Slab とメモリページ
  • 割り当てられたメモリが必ずしも消費されるわけではない
  • 偽のメモリリーク
  • HUP による再読み込み
Photo by Jose G. Ortega Castro
  • Slab とメモリページ
  • 割り当てられたメモリが必ずしも消費されるわけではない
  • 偽のメモリリーク
  • HUP による再読み込み

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

  • システムレベル
  • アプリケーションレベル
  • 従来の Nginx サーバー
Photo by Harrison Broadbent
  • システムレベル
  • アプリケーションレベル
  • 従来の Nginx サーバー

LuaJIT GC64 モード

  • 旧メモリ制限
    • このメモリ制限に遭遇する時期
    • メモリ制限はプロセスごと
    • GC が管理するメモリ
    • GC が管理しないメモリ
    • x64 モードのメモリ上限を 4 GB に引き上げる
  • 新しい GC64 モード
    • GC64 モードの有効化方法
    • パフォーマンスへの影響
    • デバッグ分析ツールチェーン
  • 旧メモリ制限
    • このメモリ制限に遭遇する時期
    • メモリ制限はプロセスごと
    • GC が管理するメモリ
    • GC が管理しないメモリ
    • x64 モードのメモリ上限を 4 GB に引き上げる
  • 新しい GC64 モード
    • GC64 モードの有効化方法
    • パフォーマンスへの影響
    • デバッグ分析ツールチェーン

動的トレース技術についての雑談

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

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

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

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