在 nginx 中使用其中任何一个有什么优点/区别?它们是单独使用还是可以一起使用?我注意到 nginx 在其最新稳定版本中添加了文件 AIO,我很好奇这对性能有什么影响。
谢谢
答案1
Linux 上的 AIO 在设计上存在严重缺陷。Nginx 支持它,但您可能不想使用它,因为您不能同时使用磁盘缓存。请参阅此 nginx 邮件列表主题更多信息,尤其是回复,由 nginx 作者 Igor Sysoev 提供。基本上,您需要运行很多nginx 工作进程,而不是在 Linux 上使用 AIO。我在提供 45 Mbit/s 静态文件(大部分来自缓存)的系统上每核运行 10 个工作进程。
答案2
AIO 是异步输入/输出。它用于文件访问。Epoll
是一种轮询机制,类似于 kqueue 和 select。它用于事件处理。
基本上,它们是两种不同的东西,可以同时使用来实现不同的事情。