epoll、select、poll 对比

在Redis单线程模型中,有一个非常重要的点就是IO多路复用模块。这个模块的存在,是单线程的Redis如此之快的非常重要的因素。

首先几个点需要注意下:

  • IO多路复用这一概念,并不是Redis专属,Redis仅仅是作为系统的一个应用程序用到了系统的这一功能而已。
  • IO多路复用本质上一一种思想,一种为了解决单线程高并发的问题的一种解决思路,并不是一种具体的实现。在不同的系统下有不同的实现,比如说在Linux下,现在最重要的实现是epoll;在Mac系统下,现在最重要的实现是XXX;select则应该是POSIX所规定,一般操作系统均有实现。

 

 

这是当年的并发图,震撼人心的并发图。我们可以看到蓝色的线是epoll,性能几乎不受连接数的影响(dead connections),无敌的并发!

 

参考资料:

I/O多路复用技术(multiplexing)是什么?

深入理解select、poll和epoll及区别

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注