通过火焰图学习nginx upstream 模块的处理

以下几个图是关于upstream 调用链的

参考环境准备

基于了flamescope 结合perf 文件可以方便的学习

  • flamescope 准备
version: "3"
services: 
  flamescope:
     image: dalongrong/flamescope
     ports: 
     - "5000:5000"
     volumes: 
     - "./profiles:/profiles"

profiles 目录的文件可以直接从github 获取 rongfengliang/openresty-perf

参考火焰图

  • 单进程模式

通过下图我们再结合源码学习nginx 的单进程模式就很简单了

 

 

多进程模式

 

 

说明

以上是基于火焰图学习nginx upstream 处理的一种方法思路,可以提高我们代码学习的速度,同时也方便模块调用分析

参考资料

https://github.com/baishancloud/nginx-development-guide/blob/master/zh.md
https://github.com/rongfengliang/openresty-perf
https://hub.docker.com/repository/docker/dalongrong/flamescope
https://github.com/rongfengliang/openresty-perf

posted on   荣锋亮  阅读(73)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-04-05 haproxy 支持fix 协议
2021-04-05 dremio arp connector 开发
2021-04-05 dremio 连接dremio 扩展dremio 集群规模
2021-04-05 开发一个dremio cratedb arp connector
2020-04-05 restic 快速安全可靠的数据备份工具
2020-04-05 使用sidekick 负载均衡minio 集群
2020-04-05 sidekick简单试用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示