章节目录

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

轻量级

功能模块少

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

代码模块化

易读,可进行二次改进。

CPU亲和

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

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

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

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

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

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

内核空间零拷贝模式

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

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

相关文章:

  • 2022-03-05
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2021-06-12
  • 2021-09-19
  • 2021-08-03
  • 2022-12-23
猜你喜欢
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案