← Back
Tutorial

Laravel 高 CPU 使用率:连 Hello World 都把一半 CPU 花在框架引导上

  • 为什么 Laravel 即使在 hello world 应用中也会高 CPU
  • Laravel CPU 分析:三条最热代码路径
  • 自动分析与报告
  • 什么是 OpenResty XRay
  • 为什么 Laravel 即使在 hello world 应用中也会高 CPU
  • Laravel CPU 分析:三条最热代码路径
  • 自动分析与报告
  • 什么是 OpenResty XRay

Perl 进程 CPU 使用率只有 13%:off-CPU 火焰图定位阻塞的 HTTP 调用

  • 症状:请求涌入但 Perl 进程 CPU 使用率上不去
  • 用 OpenResty XRay 的 off-CPU 火焰图定位阻塞的 Perl 代码路径
  • Insights 页面中的全自动分析与报告
  • FAQ
  • 症状:请求涌入但 Perl 进程 CPU 使用率上不去
  • 用 OpenResty XRay 的 off-CPU 火焰图定位阻塞的 Perl 代码路径
  • Insights 页面中的全自动分析与报告
  • FAQ

如何使用 OpenResty Edge 全局搜索:查找 Request ID、上游与应用

  • 根据 Request ID 搜索并跳转到 Request ID 解码器
  • 搜索 OpenResty Edge 界面上的文案
  • 通过 IP 地址或名称搜索上游
  • 通过名称搜索应用
  • 搜索博客文章
  • 根据 Request ID 搜索并跳转到 Request ID 解码器
  • 搜索 OpenResty Edge 界面上的文案
  • 通过 IP 地址或名称搜索上游
  • 通过名称搜索应用
  • 搜索博客文章

生产环境实测:追踪 Perl 应用时 OpenResty XRay 对系统性能的影响

  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题
  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题

线上定位 Perl 进程中最大的内存对象

  • 症状:top 里某个 Perl 进程内存占用过高
  • 用 OpenResty XRay 引导式分析定位最大的 Perl 对象
  • 把最大的对象追溯回源码文件
  • 用 Insights 报告自动监控 Perl 进程内存
  • 常见问题(FAQ)
  • 关于 OpenResty XRay
  • 症状:top 里某个 Perl 进程内存占用过高
  • 用 OpenResty XRay 引导式分析定位最大的 Perl 对象
  • 把最大的对象追溯回源码文件
  • 用 Insights 报告自动监控 Perl 进程内存
  • 常见问题(FAQ)
  • 关于 OpenResty XRay

追踪 Go 应用时 OpenResty XRay 对系统性能的影响

  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题
  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题

生产环境实测:追踪 PHP 应用时 OpenResty XRay 对系统性能的影响

  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题
  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题

生产环境实测:追踪 Python 应用时 OpenResty XRay 对系统性能的影响

  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题
  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题

生产环境实测:追踪 Rust 应用时 OpenResty XRay 对系统性能的影响

  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题
  • 分析期间对 CPU、内存和负载有何影响?
  • 分析对吞吐量与延时的影响有多大?
  • OpenResty XRay 与常驻式 APM Agent 的对比
  • 常见问题

如何在 OpenResty Edge 中添加自定义响应头(无需重启)

在 OpenResty Edge 控制台通过页面规则添加自定义响应头,值可用静态字符串或内置变量,发布后同步推送至所有网关集群,无需重启服务器。
在 OpenResty Edge 控制台通过页面规则添加自定义响应头,值可用静态字符串或内置变量,发布后同步推送至所有网关集群,无需重启服务器。

Django 内存分析:逐个对象剖析运行中应用的内存占用(使用 OpenResty XRay)

  • 用 ps 找出内存占用高的 Django 进程
  • 用引导式分析剖析 Django 应用的内存使用
  • 读懂火焰图:哪个 Python 模块占用内存最多
  • 用 Insights 自动监控 Django 内存使用
  • 关于 OpenResty XRay
  • 用 ps 找出内存占用高的 Django 进程
  • 用引导式分析剖析 Django 应用的内存使用
  • 读懂火焰图:哪个 Python 模块占用内存最多
  • 用 Insights 自动监控 Django 内存使用
  • 关于 OpenResty XRay

Python 内存分析器:无需改代码定位最占内存的对象

  • 找出哪个 Python 进程最占内存
  • 用引导式分析剖析 Python 内存:定位最大的对象及其所属模块
  • 用定时报告自动监控 Python 内存占用
  • 关于 OpenResty XRay
  • 找出哪个 Python 进程最占内存
  • 用引导式分析剖析 Python 内存:定位最大的对象及其所属模块
  • 用定时报告自动监控 Python 内存占用
  • 关于 OpenResty XRay

Rust CPU 剖析实战:用 OpenResty XRay 找出 Sled 库中最热的代码路径

  • 问题:基于 Sled 的缓存服务 CPU 使用率超过 100%
  • 用引导式分析剖析运行中的 Rust 进程
  • 解读 Rust CPU 火焰图:第一热代码路径
  • 第二热代码路径:get_inner 与 view_for_key
  • 全自动 Rust CPU 分析报告
  • 常见问题
  • 问题:基于 Sled 的缓存服务 CPU 使用率超过 100%
  • 用引导式分析剖析运行中的 Rust 进程
  • 解读 Rust CPU 火焰图:第一热代码路径
  • 第二热代码路径:get_inner 与 view_for_key
  • 全自动 Rust CPU 分析报告
  • 常见问题

etcd 高 CPU 使用率:用火焰图定位最热的 Go 代码路径

  • 问题症状:etcd 占用超过 70% 的 CPU 核心
  • 使用 OpenResty XRay 引导式分析定位最热的 Go 代码路径
  • etcd CPU 全自动监控与报告
  • 什么是 OpenResty XRay
  • 问题症状:etcd 占用超过 70% 的 CPU 核心
  • 使用 OpenResty XRay 引导式分析定位最热的 Go 代码路径
  • etcd CPU 全自动监控与报告
  • 什么是 OpenResty XRay

llama.cpp CPU 占用分析:400% 的 CPU 追踪到 ggml 热点函数

  • 运行 llama.cpp 并观察到 400% 的 CPU 使用率
  • 使用 OpenResty XRay 剖析 llama.cpp 的 CPU 占用
  • 分析结果:最热的 C++ 代码路径
  • 关于 OpenResty XRay
  • 运行 llama.cpp 并观察到 400% 的 CPU 使用率
  • 使用 OpenResty XRay 剖析 llama.cpp 的 CPU 占用
  • 分析结果:最热的 C++ 代码路径
  • 关于 OpenResty XRay

Go 服务 CPU 使用率异常低:对运行中进程做 off-CPU 分析定位阻塞根因

  • 症状:请求涌入,Go 服务 CPU 使用率却上不去
  • 用 OpenResty XRay 对运行中的 Go 进程做 off-CPU 分析
  • 根因:一行阻塞的 shell 命令调用
  • 全自动分析与日报、周报
  • 症状:请求涌入,Go 服务 CPU 使用率却上不去
  • 用 OpenResty XRay 对运行中的 Go 进程做 off-CPU 分析
  • 根因:一行阻塞的 shell 命令调用
  • 全自动分析与日报、周报

Python 进程 CPU 使用率只有 8%:off-CPU 分析定位阻塞的 subprocess.run 调用

  • 症状:请求涌入但 Python 进程 CPU 使用率上不去
  • 用 OpenResty XRay 的引导式分析定位阻塞的 Python 代码路径
  • Insights 页面中的全自动分析与报告
  • FAQ
  • 症状:请求涌入但 Python 进程 CPU 使用率上不去
  • 用 OpenResty XRay 的引导式分析定位阻塞的 Python 代码路径
  • Insights 页面中的全自动分析与报告
  • FAQ

Lua 高 CPU 占用排查:快速定位 Nginx/OpenResty 中最热的 Lua 代码路径

  • 症状:一个 Nginx 工作进程占用近 100% CPU
  • 使用引导式分析定位最热的 Lua 代码路径
  • 通过 Insights 报告自动监控 Lua CPU 占用
  • 常见问题
  • 症状:一个 Nginx 工作进程占用近 100% CPU
  • 使用引导式分析定位最热的 Lua 代码路径
  • 通过 Insights 报告自动监控 Lua CPU 占用
  • 常见问题

如何在 OpenResty Edge 中配置 SNI 代理:按 SNI 域名路由 TLS 而无需解密

  • 创建一个 SNI Proxy 类型的 Stream 应用
  • 创建上游与 SNI 服务器名页面规则
  • 为网关分区添加 SNI Proxy 端口
  • 用 curl 和浏览器测试 SNI 代理
  • 创建一个 SNI Proxy 类型的 Stream 应用
  • 创建上游与 SNI 服务器名页面规则
  • 为网关分区添加 SNI Proxy 端口
  • 用 curl 和浏览器测试 SNI 代理

OpenResty Edge TCP 负载均衡:无需修改 Nginx 配置代理 TCP 服务

  • 在 OpenResty Edge 中创建 TCP(stream)应用
  • 为 TCP 负载均衡添加上游和页面规则
  • 通过 Edge 节点连接 MySQL 测试 TCP 代理
  • 常见问题
  • 在 OpenResty Edge 中创建 TCP(stream)应用
  • 为 TCP 负载均衡添加上游和页面规则
  • 通过 Edge 节点连接 MySQL 测试 TCP 代理
  • 常见问题

OpenResty Edge 错误日志查看:应用、全局与网关服务器日志

  • 如何在 OpenResty Edge 中查看应用错误日志
  • 按请求 ID、网关、服务器与日志级别过滤错误日志
  • 三类全局错误日志(全局、Admin 站点、日志服务器)
  • 如何查看网关与 Admin 服务器上的 error.log 文件
  • 如何在 OpenResty Edge 中查看应用错误日志
  • 按请求 ID、网关、服务器与日志级别过滤错误日志
  • 三类全局错误日志(全局、Admin 站点、日志服务器)
  • 如何查看网关与 Admin 服务器上的 error.log 文件

如何在 OpenResty Edge 中启用粘性 Cookie(会话保持)

  • 粘性 Cookie 如何在 OpenResty Edge 中保持会话亲和
  • 为上游启用粘性 Cookie(服务器级别)
  • 测试每个请求是否都命中同一台后端
  • 禁用粘性 Cookie 并恢复轮询
  • 再次测试,观察流量分散到多台后端
  • 常见问题
  • 粘性 Cookie 如何在 OpenResty Edge 中保持会话亲和
  • 为上游启用粘性 Cookie(服务器级别)
  • 测试每个请求是否都命中同一台后端
  • 禁用粘性 Cookie 并恢复轮询
  • 再次测试,观察流量分散到多台后端
  • 常见问题

如何在 OpenResty Edge 中管理 Kubernetes 上游并随 Pod 自动伸缩

  • 如何创建及使用 Kubernetes 上游
    • 创建 Kubernetes 集群
    • 创建 Kubernetes 上游
    • 创建页面规则使用 Kubernetes 上游
    • 测试:扩容 Pod 观察上游自动更新
  • 如何创建及使用 Kubernetes 上游
    • 创建 Kubernetes 集群
    • 创建 Kubernetes 上游
    • 创建页面规则使用 Kubernetes 上游
    • 测试:扩容 Pod 观察上游自动更新

在微软 Azure 云上安装自主部署版 OpenResty XRay

  • 创建订阅和资源组
  • 创建 Azure Kubernetes 服务
  • 准备环境变量
  • 通过命令行登录 Azure
  • 为 Kubernetes 创建 namespace 和 secret
  • 创建 Azure Disk
  • 更新持久化卷的配置文件
  • 更新 kubernetes 的配置文件
  • 创建持久化卷
  • 部署 Kubernetes 服务
  • 配置应用网关
  • 创建订阅和资源组
  • 创建 Azure Kubernetes 服务
  • 准备环境变量
  • 通过命令行登录 Azure
  • 为 Kubernetes 创建 namespace 和 secret
  • 创建 Azure Disk
  • 更新持久化卷的配置文件
  • 更新 kubernetes 的配置文件
  • 创建持久化卷
  • 部署 Kubernetes 服务
  • 配置应用网关

OpenResty Edge gRPC 代理:分布式反向代理与负载均衡,网关侧 TLS 终止

  • 准备 gRPC 样本服务器并用 grpcurl 测试
  • 将 gRPC 服务器添加为上游并在页面规则中启用 gRPC 代理
  • 在网关侧终止 TLS,端到端验证 gRPC 代理
  • 准备 gRPC 样本服务器并用 grpcurl 测试
  • 将 gRPC 服务器添加为上游并在页面规则中启用 gRPC 代理
  • 在网关侧终止 TLS,端到端验证 gRPC 代理

OpenResty Edge WAF:启用、测试与拦截攻击

  • 以仅记录模式为应用启用 WAF
  • 发送测试攻击并查看 WAF 日志
  • 禁用与重新启用单条 WAF 规则
  • 添加 WAF 白名单以节省 CPU
  • WAF 命中返回 403:敏感度与风险评分阈值
  • 在 WAF 日志中验证 403 拦截
  • 用 EdgeLang 创建自定义 WAF 规则集
  • FAQ:OpenResty 上的 WAF
  • 以仅记录模式为应用启用 WAF
  • 发送测试攻击并查看 WAF 日志
  • 禁用与重新启用单条 WAF 规则
  • 添加 WAF 白名单以节省 CPU
  • WAF 命中返回 403:敏感度与风险评分阈值
  • 在 WAF 日志中验证 403 拦截
  • 用 EdgeLang 创建自定义 WAF 规则集
  • FAQ:OpenResty 上的 WAF

EdgeLang 教程:如何在 OpenResty Edge 中编写网关与 WAF 规则

  • EdgeLang 如何编译规则以提升性能
  • 如何编写 EdgeLang 页面规则(URL 重定向示例)
  • 用 curl 测试 EdgeLang 规则
  • 修改 EdgeLang 规则:精确匹配 vs. 前缀匹配
  • 如何用 EdgeLang 编写 WAF 规则
  • EdgeLang 用户手册与更多示例
  • 常见问题
  • EdgeLang 如何编译规则以提升性能
  • 如何编写 EdgeLang 页面规则(URL 重定向示例)
  • 用 curl 测试 EdgeLang 规则
  • 修改 EdgeLang 规则:精确匹配 vs. 前缀匹配
  • 如何用 EdgeLang 编写 WAF 规则
  • EdgeLang 用户手册与更多示例
  • 常见问题

Nginx CPU 占用过高:定位哪个请求消耗最多 CPU

  • 前提条件与环境准备
  • 定位哪个请求主机名最耗 CPU
  • 定位哪个请求 URI 最耗 CPU
  • 深入探究:为什么某些主机名更耗 CPU
  • 在 Web 控制台中运行这些工具
  • 在容器内追踪 Nginx CPU 占用
  • CPU 分析工具的实现原理
  • 分析工具的开销
  • 常见问题
Photo by Yichun Zhang
  • 前提条件与环境准备
  • 定位哪个请求主机名最耗 CPU
  • 定位哪个请求 URI 最耗 CPU
  • 深入探究:为什么某些主机名更耗 CPU
  • 在 Web 控制台中运行这些工具
  • 在容器内追踪 Nginx CPU 占用
  • CPU 分析工具的实现原理
  • 分析工具的开销
  • 常见问题
联系我们

很乐意听到您的反馈,请与我们联系 👋

成功发送消息!

我们的专家团队将在 24 小时之内与您联系。
x