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

简介: 章节目录轻量级CPU亲和超强的静态文件处理能力轻量级功能模块少源代码只保留与http 及核心功能代码,出于性能考虑,不像httpd 有那么丰富的插件。

章节目录

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

轻量级

功能模块少

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

代码模块化

易读,可进行二次改进。

CPU亲和

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

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

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

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

img_33b098a780cdffe57e691ff8b33b33ff.jpe
普通http server对文件、网络流的传输模式.jpeg

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

内核空间零拷贝模式

img_afb11e39d7c8c572669ca8866d1d2f26.jpe
内核空间零拷贝模式.jpeg

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

目录
相关文章
|
7月前
|
编译器 Linux C语言
C++新特性“CPU优化对齐”
C++新特性“CPU优化对齐”
132 3
|
7月前
|
负载均衡 网络协议 应用服务中间件
【Nginx】Nginx 功能特性
【1月更文挑战第25天】【Nginx】Nginx 功能特性
浅谈基于openresty(nginx+lua)开发轻量级,按流量控制的灰度模块(下)
浅谈基于openresty(nginx+lua)开发轻量级,按流量控制的灰度模块
151 0
|
存储 Prometheus Kubernetes
轻量级日志可视化平台Grafana Loki接入nginx访问日志
轻量级日志可视化平台Grafana Loki接入nginx访问日志
1683 0
轻量级日志可视化平台Grafana Loki接入nginx访问日志
|
5月前
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
97 1
|
5月前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLOv8改进- Backbone主干】YOLOv8 更换主干网络之 PP-LCNet,轻量级CPU卷积神经网络,降低参数量
YOLO目标检测专栏介绍了PP-LCNet,一种基于MKLDNN加速的轻量级CPU网络,提升了模型在多任务中的性能。PP-LCNet利用H-Swish、大核卷积、SE模块和全局平均池化后的全连接层,实现低延迟下的高准确性。代码和预训练模型可在PaddlePaddle的PaddleClas找到。文章提供了网络结构、核心代码及性能提升的详细信息。更多实战案例和YOLO改进见相关链接。
|
4月前
|
安全 应用服务中间件 Linux
nginx搭建静态文件下载服务器
nginx搭建静态文件下载服务器
295 0
|
7月前
|
测试技术 PyTorch 算法框架/工具
魔搭开源推理引擎 DashInfer,助力CPU服务器解锁大模型超强推理
ModelScope推出了预训练大语言模型(LLM)推理引擎DashInfer,采用C++ Runtime编写,提供C++和Python语言接口,具有生产级别的高性能表现,适用于多种CPU架构,包括x86和ARMv9。DashInfer支持连续批处理(Continuous Batching)和多NUMA推理(NUMA-Aware),能够充分利用服务器级CPU的算力,为推理14B及以下的LLM模型提供更多的硬件选择。该项工作已开源。
|
7月前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
157 3
|
7月前
|
Unix 应用服务中间件 Linux
nginx的CPU亲和性设置和优先级设置
nginx的CPU亲和性设置和优先级设置