1什么是IO复用? IO复用:由内核提供的一种同时监控多个文件描述符状态的功能。
例如:当进程需要操作多个IO相关描述符时,服务器程序要同时查看监听socket和大量业务socket是否有数据到来,需要内核能够监控许多描述符,一旦这些描述符就绪就主动告诉进程哪些描述符就绪,站在进程的角度上,就不需要挨个查看每个文件的描述符。
2.什么是IO多路复用? 多个描述符的I/O操作都能在一个线程内并发交替的顺序完成
3.IO多路复用epoll 实现方式有三种: select 缺点:能够监视文件描述符的数量存在最大限制;线性扫描效率低下 优点:windows、linux都支持
epoll 优点:没有最大并发连接限制;效率提升,不是轮询的方式
1.功能模块少
2.代码模块少
3.CPU亲和 CPU亲和是一种把CPU核心跟nginx工作进程绑定在一起,把每个worker进程固定在一个CPU上执行,减少切换CPU的cache miss,获得更好的性能。
4.可以高并发 官方测试Nginx能够支撑5万并发连接,实际生产环境中只能抗住2-4万的并发 采用最新的epoll和kqueue网络I/O模型,而传统的Apache 使用的select模型,消耗CPU比较高。
5.内存消耗少
6.稳定性高 用于方向代理
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。