首页
学习
活动
专区
圈层
工具
发布
清单首页nginx文章详情

Nginx专题-轻量级/CPU亲和/超强静态文件处理能力

专题导读

代码语言:javascript
复制
1.MySQL 专题基本上已经放送完了,前一个专题的 数据库内容 主要与开

发人员相关。关于运维等、架构方面的知识个人没有过多的积累。

2.紧接MySQL 专题, 接下来主要放送 Nginx 接入层中间件 相关的知识。

3.本专题主要对 Nginx 特性、Nginx 负载均衡、反向代理原理与实操、Nginx  动静分离配置、静态缓存配置、I/O 多路复用等相关知识进行总结。

4.如果各位对专题内容有疑问 或 建议,欢迎留言哦~

章节目录

  • 轻量级
  • CPU亲和
  • 超强的静态文件处理能力

轻量级

功能模块少

代码语言:javascript
复制
源代码只保留与http 及核心功能代码,出于性能考虑,不像httpd 有那么丰富的插件。

代码模块化

代码语言:javascript
复制
易读,可进行二次改进。

CPU亲和

8核心 16核心,多核密集计算、多线程,接入层中间件

双cpu、每个cpu有四个核心

不同worker 绑定不同核心 均匀分配,多个核心自动切换的模式,会带来核心切换资源消耗。

什么是CPU亲和?

代码语言:javascript
复制
把CPU核心和NGINX 工作进程绑定的方式,把每个worker进程固定在一个cpu

上执行,减少切换cpu的cache miss,获得更好的性能。

超强的静态文件处理能力-sendfile

内核空间-用户空间数据拷贝模式

可以看到上图为nginx应用程序进程配合内核空间返回给用户请求静态文件的response过程

这种响应模式,需要进行 内核空间 与 应用进程 空间之间数据的拷贝,比较消耗性能。

内核空间零拷贝模式

直接通过内核空间进行数据的拷贝,sendfile利用带了linux在2.2 零拷贝传递模式

nginx对静态文件的处理能力超强的原因就是因为sendfile使用了内核空间零拷贝数据传递模式。

下一篇
举报
领券