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

有帮助吗?

解决方案

我正在研究相同的区域。

你甚至可以在Linux工作中制作aio吗?我用aio_write()写300米,并将它们视为缓存中的脏页。这意味着它们不会直接进入IO调度程序,而是向VM和稍后的PDFLUSH / FLUSH进行。这意味着aio和只是缓冲io一样好/坏。

我在构建机上的2.6.16.46,目标上2.6.27.19。这不是最新的Linux内核/ libs,因此可能是一个问题。

另一个方面是您使用的IO调度程序。 CFQ最有利于同步IO,但可以调整异步。它还支持IO优先事项。

对于初学者,我建议在执行IO时观看几个地方:

  1. / proc / meminfo - 请参阅脏页趋势
  2. 回声1> / proc / sys / VM / block_dump和Watch syslog,您将看到谁在做写作和当
  3. SAR -DP 1 - 了解您的设备是否正在使用100%
  4. cd / proc; CAT * / Status | grep状态 - 查看谁在磁盘上被阻止
  5. / sys / block // queue / iosched - IO调度程序Tonables
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top