基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,java是stream或channel),多路捕获(Multiplexe,即select和poll和epoll)IO可读写的状态,而后可以读写的文件描述符进行IO读写,由于IO设备速度和CPU内存比速度会 ...
分类:
Web程序 时间:
2017-09-23 16:20:48
阅读次数:
192
在 tornado 中异步无阻塞的执行耗时任务 在 linux 上 tornado 是基于 epoll 的事件驱动框架,在网络事件上是无阻塞的。但是因为 tornado 自身是单线程的,所以如果我们在某一个时刻执行了一个耗时的任务,那么就会阻塞在这里,无法响应其他的任务请求,这个和 tornado ...
分类:
其他好文 时间:
2017-09-20 10:22:03
阅读次数:
141
1.SylixOSepoll介绍SylixOS为了兼容Linux的epoll,创建了epoll的兼容子系统,并支持了epoll的部分功能。SylixOSepoll兼容子系统是由select子系统模拟出来的,所以效率没有select高。2.epoll异常分析2.1epoll异常场景在使用线程A创建AF_UNIX匿名套接字发送数据;线程B把套接字加..
分类:
其他好文 时间:
2017-09-18 11:05:14
阅读次数:
150
1.SylixOSepoll介绍SylixOS为了兼容Linux的epoll,创建了epoll的兼容子系统,并支持了epoll的部分功能。SylixOSepoll兼容子系统是由select子系统模拟出来的,所以效率没有select高。2.epoll异常分析2.1epoll异常场景在使用线程A创建AF_UNIX匿名套接字发送数据;线程B把套接字加..
分类:
其他好文 时间:
2017-09-18 10:39:03
阅读次数:
121
user daemon daemon;worker_processes 2; error_log logs/nginx_error.log info;pid logs/nginx.pid;worker_rlimit_nofile 204800;events{ use epoll; worker_co ...
分类:
其他好文 时间:
2017-09-15 14:41:44
阅读次数:
199
简介开源、高性能、基于TCP均衡负载器、HTTP应用反向代理器;HAproxy是均衡负载和反向代理器,ha名字源于其可以对后端进行健康检查,保证后端的可用性。HAproxy1.2.5以上版本2.6以上内核支持epoll,基于事件驱动的单进程多路复用模型,具有很强的并发能力。性能HAProxy借助于OS..
分类:
其他好文 时间:
2017-09-12 15:46:01
阅读次数:
308
上一篇《白话tornado源码之请求来了》介绍了客户端请求在tornado框架中的生命周期,其本质就是利用epoll和socket来获取并处理请求。在上一篇的内容中,我们只是给客户端返回了简单的字符串,如:“Hello World”,而在实际开发中,需要使用html文件的内容作为模板,然后将被处理后 ...
分类:
其他好文 时间:
2017-09-12 01:27:36
阅读次数:
301
1.Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(ProcessPerConnection,..
分类:
其他好文 时间:
2017-09-11 00:48:40
阅读次数:
144
epoll 或者 kqueue 的原理是什么? 【转自知乎】 Epoll 引入简介 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读 ...
分类:
其他好文 时间:
2017-09-06 23:52:16
阅读次数:
194
1 TCP简介 tcp是一种基于流的应用层协议,其“可靠的数据传输”实现的原理就是,“拥塞控制”的滑动窗口机制,该机制包含的算法主要有“慢启动”,“拥塞避免”,“快速重传”。 2 TCP socket建立和epoll监听实现 数据结构设计 linux环境下,应用层TCP消息体定义如下: 其中,hea ...
分类:
系统相关 时间:
2017-09-06 10:12:09
阅读次数:
313