有几个基本条件:
1.基于线程,即一个进程生成多个线程,每个线程响应用户的每个请求。
2.基于事件的模型,一个进程处理多个请求,并且通过epoll机制来通知用户请求完成。
3.基于磁盘的AIO(异步I/O)
4.支持mmap内存映射,mmap传统的web服务器,进行页面输入时,都是将磁盘的页面先输入到内核缓存中,再由内核缓存中复制一份到web服务器上,mmap机制就是让内核缓存与磁盘进行映射,web服务器,直接复制页面内容即可。不需要先把磁盘的上的页面先输入到内核缓存去。
刚好,Nginx 支持以上所有特性。所以Nginx官网上说,Nginx支持50000并发,是有依据的。好了,基础知识就说到这边下面我们来谈谈我们今天讲解的重点Nginx。
mmap:mmap操作提供了一种机制,让用户程序直接访问设备内存,这种机制,相比较在用户空间和内核空间互相拷贝数据,效率更高。 |
|