Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务
常见的HTTP服务:
HTTPD--Apache基金会
IIIS--微软
GWS--Google(不对外开放)
Nginx优势:
一、IO多路复用epoll:类似于电路中的串联和并联的道理,这里是并联,即多线程
IO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用”指的是复用同一个线程
IO多路复用的实现方式:select、poll、epoll
select:
缺点:
1.能够监视文件描述符的数量存在最大限制
2.线性扫描效率低下
epoll模型优势:
1、每当FD就绪,采用系统的回调函数之间将fd放入,效率更高
2、最大连接无限制
二、轻量级
功能模块少
代码模块少
三、CPU亲和(affinity):把CPU核心和Nginx工作进程进行绑定,把每个worker进程固定在一个CPU上执行,减少切换cpu的cache miss,活动更好的性能
四、sendfile工作机制
原来的http的server服务采用的传输机制:
sendfile机制: