【Nginx】第二节 Nginx的优势

author:咔咔nginx

wechat:fangkangfkweb

 

优势一:IO多路复用epoll

概念:I/O多路复用就是经过一种机制,一个进程能够监视多个描述符,一旦某个描述符就绪(通常是读就绪或者写就绪),可以通知程序进行相应的读写操做apache

案例: 好比这里有三个学生分别是ABC三位,这个时候须要老师辅导做业,老师辅导做业的前提也得是学生把做业作完是吧!那么最好的方案是什么呢!那就是当A学生先把做业写完后,老师去辅导A。学生B做业写完以后,老师在去辅导b,这就是典型的IO复用服务器

使用场景网络

       1)当客户处理多个描述符时(通常是交互式输入和网络套接口),必须使用I/O复用。并发

  2)当一个客户同时处理多个套接口时,这种状况是可能的,但不多出现。负载均衡

  3)若是一个TCP服务器既要处理监听套接口,又要处理已链接套接口,通常也要用到I/O复用。异步

  4)若是一个服务器即要处理TCP,又要处理UDP,通常要使用I/O复用。模块化

  5)若是一个服务器要处理多个服务或多个协议,通常要使用I/O复用。高并发

 

优势二:轻量级

功能模块少

代码模块化

 

优势三:CPU亲和

是一种把CPU核心的和Nginx的工做进程绑定方式,把每一个worker进程固定在一个cpu上执行,减小切换cpu的cache,miss,得到更好的性能 

 

优势四:处理静态文件很快速,使用的是sendfile方式传输文件

 

 

补充:nginx跟apache的优缺点

nginx 相对 apache 的优势:

  • 轻量级,一样起web 服务,比apache 占用更少的内存及资源
  • 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
  • 高度模块化的设计,编写模块相对简单
  • 社区活跃,各类高性能模块出品迅速啊
  • Nginx自己就是一个反向代理服务器
  • Nginx支持7层负载均衡
  • nginx 适合作静态,简单,效率高


apache 相对nginx 的优势:

  • rewrite ,比nginx 的rewrite 强大
  • 模块超多,基本想到的均可以找到
  • 少bug ,nginx 的bug 相对较多
  • 超稳定
  • apache 适合作动态,稳定,功能强