在大访问量下,Nginx性能更高,主要原因如下:
- 网络I/O模型差异(主要原因)
- Apache采用的select网络I/O模型非常低效。
- Nginx使用最新的epoll(linux 2.6内核)和kqueue(freebsd)网络I/O模型。
- Apache进程干的事情多:执行php,输出html都得干。占用的资源更多。
比较I/O模型 select和epoll:

Apache和Nginx在应用中如何选择?
- 一般访问量网站优先使用Apache,稳定可靠。
- Apache模块非常丰富,为了用它的模块选它。
- Apache的rewrite非常强大,rewrite多就选它。
- 大访问量优先使用Nginx,支持更多的并发连接。
- 处理的都是静态资源(图片 html),首选Nginx(Nginx定位于静态资源分发,反向代理,在处理静态资源更有优势)
- 需要反向代理使用Nginx。
Nginx与Apache对比
本文探讨了在高流量环境下Nginx相较于Apache的性能优势,主要归因于更高效的网络I/O模型(如epoll和kqueue)及对静态资源处理的优化。Nginx适合大访问量和反向代理场景,而Apache则因其丰富的模块和强大的rewrite能力适用于一般访问量网站。

被折叠的 条评论
为什么被折叠?



