先说结论

多数业务服务里,epoll 依然是稳妥选择。io_uring 在某些高并发 IO 场景能更快,但复杂度也更高。

epoll 的优势

  • 生态成熟,排障资料多
  • 编程模型稳定
  • 与现有网络库兼容性好

对于大部分 API 服务,epoll 足够用。

io_uring 的价值点

  • 减少系统调用次数
  • 提升批量提交与完成处理效率
  • 在特定负载下降低延迟

但它要求你理解提交队列、完成队列、内核版本差异等细节。

选型建议

  1. 先压测当前 epoll 方案,定位真实瓶颈
  2. 若瓶颈明确在 IO 提交/完成路径,再评估 io_uring
  3. 预留回退方案,避免一次性全量切换

团队视角

技术选型不只看 benchmark,还要看:

  • 团队掌握程度
  • 线上问题可定位性
  • 长期维护成本

小结

新能力值得关注,但架构决策应以稳定收益为中心。对大多数团队来说,逐步引入比激进替换更现实。