Featured Articles

Photo by Yichun Zhang

Resolving Bilibili’s major site incident with OpenResty XRay

Resolving Bilibili’s major site incident with OpenResty XRay

Photo by Yichun Zhang

When Lua IPC Pipes Block OpenResty or Nginx's Event Loops

When Lua IPC Pipes Block OpenResty or Nginx's Event Loops

Photo by Philip Brown

The Wonderland of Dynamic Tracing (Part 1 of 3)

The Wonderland of Dynamic Tracing (Part 1 of 3)

Photo by Yichun Zhang

Automatic Analysis Reports in OpenResty XRay

Automatic Analysis Reports in OpenResty XRay

Photo by Guido Jansen

Introduction to Lua-Land CPU Flame Graphs

Introduction to Lua-Land CPU Flame Graphs

Photo by Elena Mozhvilo

Memory Fragmentation in OpenResty and Nginx's Shared Memory Zones

Memory Fragmentation in OpenResty and Nginx's Shared Memory Zones

Photo by Jose G. Ortega Castro

How OpenResty and Nginx Shared Memory Zones Consume RAM

How OpenResty and Nginx Shared Memory Zones Consume RAM

OpenResty XRay reduce your CPU usage up to  90%
OpenResty XRay reduce your CPU usage up to 90%
Request free trial

Latest Articles

High-Performance Web Application Firewall (WAF) in OpenResty Edge

  • Enable WAF for applications
  • Test the WAF settings of applications
  • Disable and re-enable WAF
  • WAF whitelist
  • Change the block action after a WAF hit
  • Test the new block action
  • Create WAF rule set
  • The implementation of WAF in OpenResty Edge
  • Enable WAF for applications
  • Test the WAF settings of applications
  • Disable and re-enable WAF
  • WAF whitelist
  • Change the block action after a WAF hit
  • Test the new block action
  • Create WAF rule set
  • The implementation of WAF in OpenResty Edge

The EdgeLang DSL in OpenResty Edge

  • Introduction to Edgelang
  • Add a page rule defined using Edgelang
  • Test
  • Modify the Edgelang definition of the page rule
  • Define WAF rules using Edgelang
  • Edgelang user manual
  • Introduction to Edgelang
  • Add a page rule defined using Edgelang
  • Test
  • Modify the Edgelang definition of the page rule
  • Define WAF rules using Edgelang
  • Edgelang user manual

OpenResty 1.21.4.2 RC1 is out

  • Source package
  • Windows binary packages
  • Version highlights
  • Source package
  • Windows binary packages
  • Version highlights

The Wonderland of Dynamic Tracing (Part 1 of 3)

  • Dynamic Tracing
  • What It Is
  • Too Good to be True?
  • How it Works
  • Still Having Doubts?
  • The Advantages of Dynamic Tracing
  • DTrace
  • SystemTap
  • DTrace and SystemTap
  • Applications of SystemTap in Production
Photo by Philip Brown
  • Dynamic Tracing
  • What It Is
  • Too Good to be True?
  • How it Works
  • Still Having Doubts?
  • The Advantages of Dynamic Tracing
  • DTrace
  • SystemTap
  • DTrace and SystemTap
  • Applications of SystemTap in Production

The Wonderland of Dynamic Tracing (Part 3 of 3)

  • Dynamic Tracing Support in Linux Kernels
  • Hardware Tracing
  • Analyze Remains of Dead Process
  • Traditional Debugging Technologies
  • A Messy World of Debugging
  • OpenResty XRay
Photo by L N
  • Dynamic Tracing Support in Linux Kernels
  • Hardware Tracing
  • Analyze Remains of Dead Process
  • Traditional Debugging Technologies
  • A Messy World of Debugging
  • OpenResty XRay

New FAQ Doc for OpenResty XRay

We recently prepared a new FAQ document for OpenResty XRay
Photo by Yichun Zhang
We recently prepared a new FAQ document for OpenResty XRay

Tracing the Slowest PCRE Regular Expressions in OpenResty or Nginx Processes

  • System Environment
  • Narrowing Down the Culprit without Guessing
  • Limiting the execution overhead of PCRE
  • Non-Backtracking Regular Expression Engines
  • Lua’s Builtin Patterns
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools
  • System Environment
  • Narrowing Down the Culprit without Guessing
  • Limiting the execution overhead of PCRE
  • Non-Backtracking Regular Expression Engines
  • Lua’s Builtin Patterns
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools

Listing Loaded Lua Modules in OpenResty or Nginx Processes

  • System Environment
  • Names of Loaded Lua Modules
  • 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
  • Names of Loaded Lua Modules
  • Running Directly in the Web Console
  • Tracing Applications inside Containers
  • How The Tools are Implemented
  • The Overhead of the Tools

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

Configure HTTP basic auth in OpenResty Edge

  • Configure the HTTP basic auth credentials for applications
    • Add a basic auth user group
    • Enable the basic authentication
    • Test
  • Configure the global HTTP basic auth
    • Add a global basic auth user group
    • Configure the global auth for application
Photo by Yichun Zhang
  • Configure the HTTP basic auth credentials for applications
    • Add a basic auth user group
    • Enable the basic authentication
    • Test
  • Configure the global HTTP basic auth
    • Add a global basic auth user group
    • Configure the global auth for application

Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 4 of 4)

  • Transparent Container Tracing
  • Efficient Stack Unwinding
  • Analyzing Dead Processes (Core Dumps)
  • Very Low Tracing Overhead
  • Standard Ylang Libraries & Tools
  • Network Filtering & Control
  • The Ylang Compiler’s Implementation
  • Operating System Support
  • Contributions to Open-Source Communities
Photo by Yichun Zhang
  • Transparent Container Tracing
  • Efficient Stack Unwinding
  • Analyzing Dead Processes (Core Dumps)
  • Very Low Tracing Overhead
  • Standard Ylang Libraries & Tools
  • Network Filtering & Control
  • The Ylang Compiler’s Implementation
  • Operating System Support
  • Contributions to Open-Source Communities

Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 3 of 4)

  • The Language Syntax (Continued)
    • String Literals
    • Built-in Regex Support
    • Full Control-Flow Support
    • Floating-Point Number Support
    • Compared to Open-Source Toolchains
  • Transparent Debug Symbol Handling
    • Debug Symbols: No Runtime Overhead
    • Centralized Package Database
    • Fuzzy Matching Debug Symbols
Photo by Yichun Zhang
  • The Language Syntax (Continued)
    • String Literals
    • Built-in Regex Support
    • Full Control-Flow Support
    • Floating-Point Number Support
    • Compared to Open-Source Toolchains
  • Transparent Debug Symbol Handling
    • Debug Symbols: No Runtime Overhead
    • Centralized Package Database
    • Fuzzy Matching Debug Symbols
Contact us

OpenResty open-source community workspace

Please join us here and share your thoughts and questions with us, we can't wait to see you there!


limited time offer

Request TRIAL today and receive a diagnostic REPORT
Learn more

Love to hear from you, Get in touch 👋

Message was sent successfully!

Our Team will get back to you within 24 hours.
x