我在哪里可以获得有关Linux 2.6.x上aio的最新信息

时间:2010-07-21 02:59:38

标签: linux epoll aio

最近我正在学习如何编写一个高性能的Web服务器.RedHat有一个实验说epoll比aio更快。有人说,因为Linux内核中的aio是用pthread实现的。我很难找到最新的信息来证明这一点。另外我不知道epoll现在还比Linux上的aio更好吗?所以我想知道在哪里可以获得有关Linux 2.6.x上aio的最新信息。很多!

1 个答案:

答案 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时观看几个地方:

  1. / proc / meminfo - 查看脏页趋势
  2. echo 1> / proc / sys / vm / block_dump并观看系统日志,你会看到谁在做写作和什么时候
  3. sar -dp 1 - 查看您的设备是否以100%
  4. 使用
  5. cd / proc;猫* /状态| grep State - 查看谁在磁盘上被阻止
  6. / sys / block // queue / iosched - io scheduler tunables