nginx优点
1.IO多路复用epollIO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这里的"复用" 指的是复用同一个线程epollIO多路复用的实现方式 select,poll,epollselect缺点
1)能够监视文件描述符的数量存在最大限制 (1024)2)线性扫描效率低下epoll模型
2.6内核之后每当FD就绪,采用系统的回调函数直接将fd放入,效率更高无最大连接数的限制2.轻量级
功能模块少代码模块化3.CPU亲和(affinity)为什么需要cpu亲和cpu亲和是一种把cpu核心和Nginx工作进程绑定方式,把每个worker进程固定在一个cpu上执行,减少切换cpu的cahce miss(cpu高速缓存),获得更好的性能4.nginx的sendfile传统的server服务使用nginx sendfile on
请求一个文件要经过操作系统的内核空间->用户空间最终到达socket,socket再response给用户linux2.2以后的零拷贝只通过内核空间到socket,不通过用户空间的复杂逻辑运算
HTTP协议版本 | 连接关系 |
1.0 | TCP不能复用 |
1.1 | 顺序性TCP复用 |
2.0 | 多路复用TCP复用 |