BoxCatTeam / CatPanelBackend

MIT License
0 stars 0 forks source link

io uring的使用 #1

Open LemonPrefect opened 1 year ago

LemonPrefect commented 1 year ago

ref: https://arthurchiao.art/blog/intro-to-io-uring-zh/

LemonPrefect commented 1 year ago

ref: https://arthurchiao.art/blog/intro-to-io-uring-zh/

juzi5201314 commented 1 year ago

正面意义

难点

根据tokio的rust io uring库readme所述,io uring需要特别新的linux内核,理论上至少5.6以上。 虽然也有部分发行版将io uring支持向后移植到旧版本的内核,但是毕竟还是少数。 如果支持io uring,意味着至少需要再编译多一个版本的二进制文件来分发。

对本项目的影响

以现在我想到的地方,或许最大收益是记录日志时写入日志文件的时候?我设想中大概是要记录各种安装日志,访问日志,系统信息记录等等。 但作为一个面板后端或许并不缺这点性能提升? 但是如果怀着练习或者试试看的心态,我觉得可以试试。

cc @LemonPrefect

LemonPrefect commented 1 year ago

根据tokio的rust io uring库readme所述,io uring需要特别新的linux内核,理论上至少5.6以上。 虽然也有部分发行版将io uring支持向后移植到旧版本的内核,但是毕竟还是少数。

我觉得内核版本更新不是问题,至少现在主流的发行版都已经超过这个,就比如 Ubuntu focal。

如果支持io uring,意味着至少需要再编译多一个版本的二进制文件来分发。

没有必要为过多的老版本系统背上历史包袱,系统应该更新而不是新软件兼容。

但作为一个面板后端或许并不缺这点性能提升?

或许来点 benchmark 能直观地看到差别?

juzi5201314 commented 1 year ago

系统应该更新而不是新软件兼容。

感觉还是有很多在用比较老的系统版本的,比如一些云服务商默认提供的预装系统版本可能就比较老。不过这个不是什么大问题,编译也是ci来编译的,工作量不大。

或许来点 benchmark 能直观地看到差别?

我这两天写个看一下