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

Analyzing the Most CPU-Consuming Requests in OpenResty or Nginx

  • System Environment
  • CPU-Hottest Request Hostnames
  • CPU-Hottest Request URIs
  • Digging Deeper
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools
Photo by Yichun Zhang
  • System Environment
  • CPU-Hottest Request Hostnames
  • CPU-Hottest Request URIs
  • Digging Deeper
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools

Install OpenResty on Ubuntu 20.04 via apt-get

Photo by Ubuntu

Streaming HTTP Response Output in OpenResty

Photo by Michal Matlon

Precompile Lua Modules into LuaJIT Bytecode to Speedup OpenResty Startup

Photo by Yichun Zhang

Timing Lua Code Correctly in OpenResty

Photo by Andrik Langfield

Lookup OpenResty Documentation on Terminal with restydoc

Photo by Cristina Gottardi

Share Data Across Requests Served by OpenResty

Photo by Gautam Ganguly

Install OpenResty on CentOS 8 via dnf

Photo by Yichun Zhang

The resty Command-Line Utility Demo

Photo by Markus Spiske & Yichun Zhang

Write Your Own Lua Modules for OpenResty Applications

Photo by Gerry Roarty

Hello World HTTP Example in OpenResty

Photo by 2Photo Pots

Introduction to Lua-Land CPU Flame Graphs

  • What is a Flame Graph
  • Simple Lua samples
  • Complicated Lua applications
  • Sampling overhead
  • Safety
  • Compatibility
  • Other types of Lua-land Flame Graphs
Photo by Guido Jansen
  • What is a Flame Graph
  • Simple Lua samples
  • Complicated Lua applications
  • Sampling overhead
  • Safety
  • Compatibility
  • Other types of Lua-land Flame Graphs

Memory Fragmentation in OpenResty and Nginx's Shared Memory Zones

  • An empty zone
  • Filling entries of similar sizes
  • Deleting odd-numbered keys
  • Deleting the keys in the first half
  • Mitigating Fragmentation
Photo by Elena Mozhvilo
  • An empty zone
  • Filling entries of similar sizes
  • Deleting odd-numbered keys
  • Deleting the keys in the first half
  • Mitigating Fragmentation

How OpenResty and Nginx Shared Memory Zones Consume RAM

  • Slabs and pages
  • What is allocated is not what is paid for
  • Fake Memory Leaks
  • HUP reload
Photo by Jose G. Ortega Castro
  • Slabs and pages
  • What is allocated is not what is paid for
  • Fake Memory Leaks
  • HUP reload

How OpenResty and Nginx Allocate and Manage Memory

  • On The System Level
  • On The Application Level
  • For Traditional Nginx Servers
Photo by Harrison Broadbent
  • On The System Level
  • On The Application Level
  • For Traditional Nginx Servers
お問い合わせ

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

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

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