Nginx源码分析与导读.ppt
《Nginx源码分析与导读.ppt》由会员分享,可在线阅读,更多相关《Nginx源码分析与导读.ppt(51页珍藏版)》请在三一办公上搜索。
1、Nginx源代码分析与导读,核心系统研发-叔度2010-03-26,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,Nginx源码结构,代码量大约11万行C代码源代码目录结构core(主干和基础设置)event(事件驱动模型和不同的IO复用模块)http(HTTP服务器和模块)mail(邮件代理服务器和模块)os(操作系统相关的实现)misc(杂项),Nginx架构特点,非阻塞事件驱动单线程IO复用一个主进程和少量工作进程高度模块化,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,内存池,作用简化内存管理避免内存碎片避免内存泄露分类生命周期全
2、局连接请求大小,内存池布局图示一,内存池布局图示二,缓冲区管理,缓冲区对象指针内存文件重要的标志位last_buflast_in_chainflushin_filememory,缓冲区管理(2),缓冲链缓冲区的一个单链表高级输出链in/free/busyoutput filtercontext,字符串操作,基本类型 ngx_str_tNginx自己的字符串API内存操作相关字符串格式化字符串查找格式转换Base64/URL/UTF-8字符串和数字之间的转换,数据结构,基本的ADT数组链表队列hash表红黑树Radix树特点先添加,再设置按块分配内存,日志操作,错误日志等级调试访问日志日志格式多
3、日志location相关轮转,配置文件,指令名称类型设置函数offset解析过程值的初始化与合并,配置文件(2),块 events/http/server/upstream/location变量$内置的自定义的,目录,源码结构重要概念与基础设施事件驱动架构HTTP处理流程邮件代理流程,主进程和工作进程,主进程(master)监视工作进程的状态当工作进程死掉后重启一个新的处理信号和通知工作进程工作进程(worker)处理客户端请求从主进程处获得指令做相应的事情,主进程和工作进程(2),处理流程示意图,主进程的处理流程,工作进程的处理流程,进程间通信方式,信号频道socketpair命令共享内存统
4、计原子操作与自旋锁互斥量,事件类型,基本数据结构ngx_event_t读、写超时回调函数处理方式立即邮递,时间缓存,避免多余的gettimeofday(2)缓存内容时间值格式化后的时间字符串时间精度与更新频率轮询后刷新定期更新,事件和计时器处理流程,计时器的实现,动作添加删除获得最小值用红黑树实现复杂度O(log n),工作进程之间的协调,多核利用CPU亲缘性惊群问题缘由解决方案锁延迟,工作进程之间的协调(2),Accept互斥量,IO复用模型,系统相关的IO接口水平触发(NGX_USE_LEVEL_EVENT)selectpollevent port边缘触发(NGX_USE_CLEAR_EV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nginx 源码 分析 导读
链接地址:https://www.31ppt.com/p-2389182.html