为什么大家都说几百个套接字的场景下更推荐 select/poll

如题,我是想知道为什么这样的场景下 epoll 就不适合了呢?是因为什么出现了不足?

我所了解的 epoll 使用的时候会开辟一块共享内存区,套接字以红黑树形式在里边管理。难道是说这块内存区带来的开销么?

还请懂的大兄弟指导一下,谢谢了。

阅读 2.1k
2 个回答

纯造谣, redis一般情况下也是小于1000个连接, 为什么他用的epoll?
现在不用epoll的理由只可能是: 1. 懒得写, 2 不会写, 3 老代码改不动.

(仅针对服务端开发, 嵌入式等情况我不太了解)

这个还有看具体场景。自己试验一下最好。
贴一下libevent的benchmark吧libevent-benchmark
少量文件描述符的场景,即便是有差异差异也非常小。通常会选择epoll。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题