Nginx的请求处理流程
image.pngNginx进程结构
image.png为什么nginx使用多进程而不使用多线程
线程之间共享同一个地址空间,所以当一个第三方模块引发了一个地址空间导致的段错误时,在地址越界出现时,就会导致整个nginx进程全部挂掉
Nginx进程管理信号
image.pngNginx reload 流程
image.pngimage.png
老的worker在异常情况下可能不会退出,新版本中提供worker_shutdown_timeout,
Nginx 热升级流程
image.png image.png优雅的关闭worker进程
image.png当在第4步 循环关闭连接时达到worker_shutdown_timeout 设置的时间时 后面的连接会直接关闭
网络传输
chuan shu image.png image.png
Nginx 事件循环
image.png为什么nginx 不能容忍三方模块长时间占用大量的cpu进行计算
epoll的优劣和原理
image.png image.png请求切换
image.png每次进程切换 cpu消耗的时间大约5微妙
时间片和优先级
阻塞与非阻塞
image.png image.png模块
image.png image.png image.png连接池
image.png image.png image.png所有worker进程协同工作的关键
image.png image.png image.png image.pngNginx 容器
image.png image.png image.pngbucket size 对齐
主流cpu l1 l2 l3 缓存
网友评论