前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx的I/O性能为什么比Apache更高效?

Nginx的I/O性能为什么比Apache更高效?

作者头像
dys
发布2018-04-02 16:48:25
7300
发布2018-04-02 16:48:25
举报
文章被收录于专栏:性能与架构

Nginx与Apache的I/O性能差距源于他们采用不同的I/O模型 Apache - select模型 Nginx - epoll模型 特点对比 select模型 (1)最大并发连接数限制,一个进程所打开的 FD (文件描述符)是有限制的,由 FD_SETSIZE 设置,默认值是 1024/2048 ,因此 Select 模型的最大并发数就被限制了 (2)效率问题,select 每次调用都会线性扫描全部的 FD 集合,这样效率就会呈现线性下降,所以,如果把 FD_SETSIZE 改大,效率会直接降低 (3)内核 / 用户空间 内存拷贝问题,如何让内核把 FD 消息通知给用户空间呢?在这个问题上 select 采取了内存拷贝方法 (4)产生阻塞 epoll模型 (1)最大并发连接的限制,上限是最大可以打开文件的数目,这个数字一般远大于 2048, 这个数字和系统内存关系很大 ,具体数目可以 cat /proc/sys/fs/file-max 察看 (2)效率提升,Epoll 最大的优点就在于它只管“活跃”的连接 ,而跟连接总数无关 (3)内存拷贝,Epoll 在这点上使用了“共享内存 ”,内存拷贝过程也省略了 (4)非阻塞

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档