大访问量下Nginx和Apache性能对比

在大访问量下,Nginx性能更高,主要原因如下:

  1. 网络I/O模型差异(主要原因)
    • Apache采用的select网络I/O模型非常低效。
    • Nginx使用最新的epoll(linux 2.6内核)和kqueue(freebsd)网络I/O模型。
  2. Apache进程干的事情多:执行php,输出html都得干。占用的资源更多。

比较I/O模型 select和epoll:
大访问量下Nginx和Apache性能对比_第1张图片

Apache和Nginx在应用中如何选择?

  • 一般访问量网站优先使用Apache,稳定可靠。
  • Apache模块非常丰富,为了用它的模块选它。
  • Apache的rewrite非常强大,rewrite多就选它。
  • 大访问量优先使用Nginx,支持更多的并发连接。
  • 处理的都是静态资源(图片 html),首选Nginx(Nginx定位于静态资源分发,反向代理,在处理静态资源更有优势)
  • 需要反向代理使用Nginx。

你可能感兴趣的:(web服务)