nginx的中间件架构,是开源,高性能、可靠的、代理服务中间件。
类似nginx的中间件服务有:
httpd -apache
IIS - 微软
GWS - 谷歌的
# 为什么选择nginx
1. 采用io多路复用的epoll模型,一种io空闲主动上报机制(内核态fd就绪被放入使用),一个线程并行处理io请求,没有堵塞。不会因为某一路请求的io堵塞导致后面在请求无法执行。
select模型会维护一个fd列表,会一直线性遍历fd列表,效率低下,另外,有文件描述符限制1024个。epoll模型没有描述符限制,也就没有最大链接限制。io多路复用模型还有poll模型。
2. nginx轻量级
功能模块少,代码模块化
与http相关的核心功能集成在源代码里面,其他的非核心插件功能不会在源码中。这样功能不会很全,但是可以加入插件模块进行扩展。代码模块化支持二次开发。
3. nginx 的CPU亲和
一般worker数量=cpu*2=cpu的核心数
多worker使用多cpu,把worker固定在一个CPU上运行,利用cpu亲和的绑定方式,减少切换cpu的cache miss,以获得比较好的性能
4. nginx的sendfile工作机制(nginx在处理静态文件是非常高效的,内核空间直接到内核空间的传输,0拷贝传输模式)
一般httpserver的处理方式从内核空间到用户空间、又从用户空间又到内核空间,切换导致传输低效。
本文发布于:2024-02-02 22:02:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170688252446724.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |