IO密集时epoll还高效吗?

io特别密集时为什么 epoll 效率不高。原因是:

  • 连接密集(短连接特别多),使用epoll的话,每一次连接需要发生epoll_wait->accpet->epoll_ctl调用,而使用select只需要select->accpet,减少了一次系统调用。

  • 读写密集的话,如果收到数据,我们需要响应数据的话,使用epoll的情况下, read 完后也需要epoll_ctl 加入写事件,相比select多了一次系统调用

所以 在连接数多且不活跃下,epoll比较高效。连接数少且都很活跃下,select比较高效。

你可能感兴趣的:(服务器,系统架构)