epoll的优点:
1.支持一个进程打开大数目的socket描述符(FD)
select 最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显 然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降,二是可以选择多进程的解决方案(传统的 Apache方案...
分类:
其他好文 时间:
2015-01-06 18:06:54
阅读次数:
186
什么是Nginx?Nginx是俄罗斯人开发的一款高性能的HTTP和反向代理服务器。Nginx能够选择高效的epoll(Linux2.6内核)、kqueue(FreeBSD)、eventport(Solaris10)作为网络I/O模型,在高并发的情况,能够很好的工作。为什么选择Nginx?Nginx是一个高性能的Web和反向代理服务器,它..
分类:
其他好文 时间:
2015-01-06 07:21:35
阅读次数:
189
http://www.cppblog.com/peakflys/archive/2012/08/26/188344.html 评论区讨论,唐诗!http://www.cnblogs.com/egametang/archive/2012/07/30/2615808.html楼主没有说到重点,需要注意....
分类:
其他好文 时间:
2014-12-30 18:29:50
阅读次数:
104
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中.....
分类:
其他好文 时间:
2014-12-26 14:34:03
阅读次数:
165
Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD...
分类:
其他好文 时间:
2014-12-25 16:06:05
阅读次数:
290
http://scotdoyle.com/python-epoll-howto.htmlLine 1: The select module contains the epoll functionality.Line 13: Since sockets are blocking by default,...
分类:
编程语言 时间:
2014-12-24 11:40:43
阅读次数:
194
ACE在linux下默认使用select来实现Reactor的。如何在linux下让ACE使用epoll。
分类:
系统相关 时间:
2014-12-23 15:23:46
阅读次数:
230
I:跨平台设计基础 在windows下使用0字节的WSARecv/WSASend(读写)作为读写检测,将IOCP作为一个通知模型,而"抛弃"它的异步模型。即:把它当作epoll来用。使得(方便)网络库的设计(譬如socket的读写处理)在windows和linux下实现统一: 底层获得读写通知,应用...
分类:
编程语言 时间:
2014-12-23 11:49:44
阅读次数:
133
I:跨平台设计基础 在windows下采用0字节的WSARecv/WSASend(读写)作为读写检测,将IOCP作为一个通知模型,而"抛弃"它的异步模型。即:把它当作epoll来用。使得(方便)网络库的设计(譬如socket的读写处理)在windows和linux下实现统一: 底层获得读写通知,应用...
分类:
其他好文 时间:
2014-12-22 17:54:25
阅读次数:
162
gevent <-greenlet <- libev/libevent <- (select、epoll、kqueue)libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制libev是libe...
分类:
其他好文 时间:
2014-12-22 10:51:54
阅读次数:
183