Nginx特性-轻量级+CPU亲和+超强的静态文件处理能力

章节目录

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

轻量级

功能模块少

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

代码模块化

易读,可进行二次改进。

CPU亲和

8核心 16核心,多核密集计算、多线程,接入层中间件
双cpu、每个cpu有四个核心
不同worker 绑定不同核心 均匀分配,多个核心自动切换的模式,会带来核心切换资源消耗。
什么是CPU亲和?

把CPU核心和NGINX 工作进程绑定的方式,把每个worker进程固定在一个cpu
上执行,减少切换cpu的cache miss,获得更好的性能。

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

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

Nginx特性-轻量级+CPU亲和+超强的静态文件处理能力_第1张图片
普通http server对文件、网络流的传输模式.jpeg

可以看到上图为nginx应用程序进程配合内核空间返回给用户请求静态文件的response过程
这种响应模式,需要进行 内核空间 与 应用进程 空间之间数据的拷贝,比较消耗性能。

内核空间零拷贝模式

Nginx特性-轻量级+CPU亲和+超强的静态文件处理能力_第2张图片
内核空间零拷贝模式.jpeg

直接通过内核空间进行数据的拷贝,sendfile利用带了linux在2.2 零拷贝传递模式
nginx对静态文件的处理能力超强的原因就是因为sendfile使用了内核空间零拷贝数据传递模式。

你可能感兴趣的:(Nginx特性-轻量级+CPU亲和+超强的静态文件处理能力)