您现在的位置是:主页 > news > 云南网站制作怎么计费/常用的网络营销方法有哪些
云南网站制作怎么计费/常用的网络营销方法有哪些
admin2025/5/20 5:58:40【news】
简介云南网站制作怎么计费,常用的网络营销方法有哪些,爱做的小说网站吗,网站关键词表格下载Nginx优势多路IO复用 1、分析2017年web服务市场占有率 2、为什么选择Nginx? Nginx具备的优势,很多其他的服务也在采用(如Apache的event)Nginx在功能全面上并不占优势Nginx具备的功能是企业最常用而且最需要Nginx具备的轻量级性能…
Nginx优势多路IO复用
1、分析2017年web服务市场占有率
2、为什么选择Nginx?
- Nginx具备的优势,很多其他的服务也在采用(如Apache的event)
- Nginx在功能全面上并不占优势
- Nginx具备的功能是企业最常用而且最需要
- Nginx具备的轻量级性能优势
3、采用IO多路复用epoll模型
硬件之上会安装一个软件-操作系统
操作系统里面有一个系统内核,epoll就是存在于内核中
操作系统通过内核去驱动硬件,让硬件工作
Nginx web服务相当于一个应用程序
应用程序通过操作系统的内核去驱动硬件
4、什么是IO复用
epoll模型就是来实现IO复用
5、难点-阻塞
6、实现IO复用的处理方式
(1)多进程多线程处理
一个线程只能处理一个流的I/O事件。如果想要同时处理多个流,要么多进程(fock)要么多线程(pthread_create),很不幸这两种方式的效率都不高。
所以,同样交给一个线程去采用IO复用模式,效率更高。
(2)多路IO复用
I/O多路复用实际上就是用select, poll, epoll监听多个io对象,当io对象有变化(有数据)的时候就通知用户进程。好处就是单个进程可以处理多个socket。当然具体区别我们后面再讨论,现在先来看下I/O多路复用的流程:
- 当用户进程调用了select,那么整个进程会被block;
- 而同时,kernel会“监视”所有select负责的socket;
- 当任何一个socket中的数据准备好了,select就会返回;
- 这个时候用户进程再调用read操作,将数据从kernel拷贝到用户进程。
所以,I/O 多路复用的特点是通过一种机制一个进程能同时等待多个文件描述符,而这些文件描述符(套接字描述符)其中的任意一个进入读就绪状态,select()函数就可以返回。
这个图和blocking IO的图其实并没有太大的不同,事实上,还更差一些。因为这里需要使用两个system call (select 和 recvfrom),而blocking IO只调用了一个system call (recvfrom)。但是,用select的优势在于它可以同时处理多个connection。
所以,如果处理的连接数不是很高的话,使用select/epoll的web server不一定比使用多线程 + 阻塞 IO的web server性能更好,可能延迟还更大。
select/epoll的优势并不是对于单个连接能处理得更快,而是在于能处理更多的连接。)
在IO multiplexing Model中,实际中,对于每一个socket,一般都设置成为non-blocking,但是,如上图所示,整个用户的process其实是一直被block的。只不过process是被select这个函数block,而不是被socket IO给block。