← Back
nginx

OpenResty XRay を使用して、カスタム Kong プラグインの Lua 例外による CPU ボトルネックを解決した方法

  • 問題:Kong サーバーの高 CPU 使用率
  • 分析とレポート
  • 結果:パフォーマンスの向上と CPU 使用率の低下
Photo by 章亦春
  • 問題:Kong サーバーの高 CPU 使用率
  • 分析とレポート
  • 結果:パフォーマンスの向上と CPU 使用率の低下

OpenResty XRay を使用して、オンラインの Kong サービスプロセス内のプラグインの CPU およびメモリ使用量をリアルタイムで統計化する方法

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

オンラインリクエストの 200ms 追加遅延の自動診断

  • 課題
  • 分析プロセス
  • 完全自動化された分析
  • OpenResty XRay とは
Photo by 章亦春
  • 課題
  • 分析プロセス
  • 完全自動化された分析
  • OpenResty XRay とは

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

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

Lua IPC パイプが OpenResty または Nginx イベントループをブロックする場合

  • 問題点
  • 分析
  • 解決策
  • 結果
Photo by Yichun Zhang
  • 問題点
  • 分析
  • 解決策
  • 結果

巨大な Nginx 設定による メモリフラグメンテーションの最適化

  • 課題
  • 分析
  • 解決策
  • 結果
Photo by Yichun Zhang
  • 課題
  • 分析
  • 解決策
  • 結果

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 コンソールで直接実行する
  • コンテナ内のアプリケーションのトレース
  • ツールの実装方法
  • ツールのオーバーヘッド

Ubuntu 20.04 で apt-get を使用して OpenResty をインストールする方法

Photo by Ubuntu

OpenResty における ストリーミング HTTP レスポンス出力

Photo by Michal Matlon

OpenResty の起動速度を向上させるための Lua モジュールの LuaJIT バイトコードへの事前コンパイル

Photo by Yichun Zhang

OpenResty における Lua コードの実行時間を正確に測定する方法

Photo by Andrik Langfield

ターミナルで restydoc を使用して OpenResty のドキュメントを閲覧する

Photo by Cristina Gottardi

OpenResty におけるリクエスト間のデータ共有

Photo by Gautam Ganguly

CentOS 8 で dnf を使用して OpenResty をインストールする方法

Photo by Yichun Zhang

resty コマンドラインツールのデモンストレーション

Photo by Markus Spiske & Yichun Zhang

OpenResty アプリケーション用の独自 Lua モジュールの作成方法

Photo by Gerry Roarty

OpenResty を使用した「Hello World」HTTP サンプルの実装

Photo by 2Photo Pots

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 サーバー
お問い合わせ

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

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

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