一、nginx 高并发原理 二、nginx 多进程 启动nginx .png) master进程和worker进程 惊群现象 nginx 对惊群现象的处理 代码简单理解 .png) 三、worker进程 worker进程做了什么事 如果不使用io多路复用 会是什么样的 能不能利用io堵塞的时间 ac ...
分类:
系统相关 时间:
2019-06-04 12:47:50
阅读次数:
158
IO多路复用之select、poll、epoll详解 目前支持I/O多路复用的系统调用有 select,pselect,poll,epoll,I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,ps ...
分类:
其他好文 时间:
2019-06-02 10:25:29
阅读次数:
99
IO模型Redis是单线程的,为什么支持高并发?node.js,nginx也是单线程的。除了Redis数据是存在内存里面的,所有操作都是内存级别的,还有其它原因导致它有如此高的性能?多路复用(事件轮训)多路复用是一种IO模型,那系统中还有哪些IO模式?一起来看看吧常见的IO模型同步阻塞IO(BlockingIO)传统IO模型,请求server,如果server没有返回,client会一直等待,直到
分类:
其他好文 时间:
2019-05-28 18:42:03
阅读次数:
139
Reactor是基于NIO中实现多路复用的一种模式. 什么是Reactor模式 同步的等待多个事件源到达(采用select()实现) 将事件多路分解以及分配相应的事件服务进行处理,这个分派采用server集中处理(dispatch) 分解的事件以及对应的事件服务应用从分派服务中分离出去(handle ...
分类:
其他好文 时间:
2019-05-28 12:22:50
阅读次数:
137
阅读本文大概需要 4 分钟。 阅读本文大概需要 4 分钟。 阅读本文大概需要 4 分钟。 阅读本文大概需要 4 分钟。 作者:Draveness 最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing ...
分类:
编程语言 时间:
2019-05-24 10:50:46
阅读次数:
105
理论方法 基于IO多路复用,windows中使用select实现,linux中使用select,pool,epoll实现。 windows中使用select,最多能监听1024个文件句柄,使用轮询检测; Linux中使用select最多能监听1024个文件句柄,使用轮询检测;pool,监听个数不限制 ...
分类:
编程语言 时间:
2019-05-23 00:57:29
阅读次数:
187
1. Nginx 进程模型简介 多进程+多路复用 master 进程 、 worker 进程 启动nginx,查看nginx的线程,可以发现: worker_processes 1 cpu 总核心数 epoll . select .... #user nobody; 用户 worker_proces ...
分类:
其他好文 时间:
2019-05-23 00:14:57
阅读次数:
122
read或write都是属于IO操作 比如socket的发送和接收就是IO操作 # 同步 提交一个任务之后要等待这个任务执行完毕# 异步 只管提交任务,不等待这个任务执行完毕就可以做其他事情# 阻塞 recv recvfrom accept# 非阻塞 # 阻塞 线程 运行状态 --> 阻塞状态 -- ...
分类:
其他好文 时间:
2019-05-21 22:50:52
阅读次数:
258
数据交换可以分成三种:①电路交换,②报文交换, ③分组交换 电路交换分为三个阶段: 第一个阶段就是首先建立电路, 然后第二阶段通过建立的电路进行数据交换和通信,第三个阶段就是拆除电路或者说释放连接。电路交换的一个特殊点就是要独占资源。可是明显不能让一条线路只给一个人用,因此我们就要实现多路复用技术。 ...
分类:
其他好文 时间:
2019-05-19 16:59:08
阅读次数:
151
def fileno (self, *args, **kwargs): # real signature unknown 返回文件句柄在内核中的索引值, 以后做I0多路复用时可以用到 def flush (self, *args, **kwargs): # real signature unknow ...
分类:
其他好文 时间:
2019-05-18 15:46:04
阅读次数:
129