最近我正在学习如何编写一个高性能的Web服务器.RedHat有一个实验说epoll比aio更快。有人说,因为Linux内核中的aio是用pthread实现的。我很难找到最新的信息来证明这一点。另外我不知道epoll现在还比Linux上的aio更好吗?所以我想知道在哪里可以获得有关Linux 2.6.x上aio的最新信息。很多!
答案 0 :(得分:2)
我正在研究同一地区。
你甚至可以在Linux上运行aio吗?我用aio_write()写300M并将它们看作缓存中的脏页。这意味着它们不会直接进入IO调度程序,而是直接进入VM以及更高版本的pdflush / flush。这意味着aio与刚刚缓冲的io一样好/坏。
我在构建机器上的2.6.16.46和目标上的2.6.27.19。这不是最新的Linux内核/库,所以这可能是个问题。
另一个方面是您使用的IO调度程序。 CFQ支持同步IO,但可以针对异步进行调整。它还支持IO优先级。
对于初学者,我建议您在执行IO时观看几个地方: