文件描述符
这是计算机科学里的一个术语,表示指向文件引用的一个抽象的概念,文件描述符是一个索引值,指向linux内核为每一个进程打开的文件做记录的一个表
程序每打开一个文件,系统内核就向该进程发送一个文件描述符
ulimt -n # 查看默认的系统描述符有多大
Linux IO模型
input 输入 output 输出
对于linux的文件读写操作,数据的IO操作,比如文件的读取,数据优先会被拷贝到操作系统的内核缓冲区,然后再从缓冲区拷贝到应用程序的内存空间
本地文件的IO过程
一个读取操作,经历了两个阶段
1、等待数据准备
2、数据从内核空间拷贝到用户进程空间
网络IO
1、等待网络上的数据分段到达,然后复制到内核的缓冲区
2、数据从内核缓冲区拷贝到用户空间的应用程序
网络应用主要面临两个问题:数据计算,网络IO延迟
网络的延迟,是造成性能低下的最大的原因
Nginx优势
nginx优势在于优秀的网络IO处理模型
常见的IO模型有
- 阻塞模型
- 非阻塞模型
- IO多路复用
- 异步IO
网络IO指的就是在网络中进行数据的读写操作,本质上就是一个socket套接字读取,socket套接字在linux系统中被抽象为流的概念,网络IO就是对数据流的处理
网友评论