← Back
Casestudy

一次无法重启的 Nginx 内存泄漏,我们是如何在生产环境把它抓出来的

  • 一次生产环境内存泄漏的完整解剖
  • 为什么这类问题几乎无解?
  • 从“靠运气”到“可预测”
  • 当性能问题超越“工具”范畴”
  • 一次生产环境内存泄漏的完整解剖
  • 为什么这类问题几乎无解?
  • 从“靠运气”到“可预测”
  • 当性能问题超越“工具”范畴”

Nginx 反向代理 QPS 暴跌 15 倍:upstream keepalive 缺失与 -O0 编译选项的根因定位

  • Nginx 反向代理慢 15 倍,日志却零报错
  • 火焰图暴露连接风暴:upstream keepalive 缺失
  • 剩下的 10% 差距:基线对比指向编译器
  • -O0 调试编译如何吃掉我们 10% 的性能
  • 15 倍 QPS 差异的工程性复盘
  • Nginx 反向代理慢 15 倍,日志却零报错
  • 火焰图暴露连接风暴:upstream keepalive 缺失
  • 剩下的 10% 差距:基线对比指向编译器
  • -O0 调试编译如何吃掉我们 10% 的性能
  • 15 倍 QPS 差异的工程性复盘

Gzip CPU 占用过高的根因:压缩级别 6 吃掉了 54% 的 CPU

  • Gzip 压缩如何在生产环境中吃掉了 54% 的 CPU
  • Gzip CPU 占用为何如此之高:配置级根因诊断
  • 量化 Gzip 与 Brotli 的 CPU 开销
  • 从凭感觉到数据驱动的压缩调优
  • Gzip 压缩如何在生产环境中吃掉了 54% 的 CPU
  • Gzip CPU 占用为何如此之高:配置级根因诊断
  • 量化 Gzip 与 Brotli 的 CPU 开销
  • 从凭感觉到数据驱动的压缩调优

Nginx Worker 进程 RPS 上不去:追踪到 75 毫秒的事件循环阻塞

  • 负载很高却没干活:缺失 worker_cpu_affinity 导致的 CPU 争抢
  • 阻塞的 Lua IO 操作如何拖停 Nginx 事件循环
  • 量化文件 IO 延时:单次最高 1.5 毫秒
  • Nginx 事件循环阻塞有多严重?43952 个样本、最大 75 毫秒
  • 常见问题
  • 负载很高却没干活:缺失 worker_cpu_affinity 导致的 CPU 争抢
  • 阻塞的 Lua IO 操作如何拖停 Nginx 事件循环
  • 量化文件 IO 延时:单次最高 1.5 毫秒
  • Nginx 事件循环阻塞有多严重?43952 个样本、最大 75 毫秒
  • 常见问题

从崩溃到根因:OpenResty XRay 如何将 Nginx 内存踩踏问题分析得明明白白

  • 案例背景:日志无法解释的 Nginx worker 进程频繁崩溃
  • 分析录制文件:把崩溃过程回放回“第一现场”
  • 根因:Nginx 连接生命周期中的 Use-After-Free
  • 常见问题(FAQ)
  • 案例背景:日志无法解释的 Nginx worker 进程频繁崩溃
  • 分析录制文件:把崩溃过程回放回“第一现场”
  • 根因:Nginx 连接生命周期中的 Use-After-Free
  • 常见问题(FAQ)

追踪 OpenResty 中 LRU 缓存引发的内存泄漏 —— 根因竟是缓存的 SSL 证书

  • 为什么一个低流量的 OpenResty 应用会持续泄漏内存
  • 一步步追踪 LRU 缓存内存泄漏的完整过程
  • 最终结果:从无限增长到内存平稳
  • 为什么一个低流量的 OpenResty 应用会持续泄漏内存
  • 一步步追踪 LRU 缓存内存泄漏的完整过程
  • 最终结果:从无限增长到内存平稳

Nginx Worker CPU 占用不均:定位未启用 reuseport 与 cjson 解析瓶颈

  • 症状:部分 Nginx Worker 进程 CPU 打满,其余接近空闲
  • OpenResty XRay 如何定位根因
  • 修复:三项优化与各自的实测收益
  • 总结:OpenResty XRay 几分钟内的发现
  • 常见问题
  • 症状:部分 Nginx Worker 进程 CPU 打满,其余接近空闲
  • OpenResty XRay 如何定位根因
  • 修复:三项优化与各自的实测收益
  • 总结:OpenResty XRay 几分钟内的发现
  • 常见问题
联系我们

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

成功发送消息!

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