经过4个多月的预研、开发和测试,FastCFS 5.0终于和大家见面了。FastCFS 5.0使用ibverbs原生方式适配了RDMA网络,可以充分发挥RDMA网络的低延迟和高吞吐特性。在此特别感谢 @Frank 提供IB环境的高端服务器供我们预研;非常感谢 @yunqi 在ibverbs编程方面耐心的答疑;十分感谢 @AI墨墨 公众号提供了非常好用的chatGPT服务,帮助我解答了不少疑惑。
我们租用阿里云 g8类型的 ECS,使用其eRDMA特性,4KB随机读在fuse场景性能下相比socket方式提升了50%;我们直接调用API(纯用户态模式)的fcfs_beachmark,非busy polling模式下性能相比socket方式提升80%,而busy polling模式下性能提升了110%。后续我们将找机会在IB网络环境下进行性能对比测试,预计性能提升会更加明显。
是否开启busy polling,我们server端默认配置为智能模式。当一个连接的QPS连续N秒(如3秒)超过阈值(如10240),则启用 busy polling模式;连续N秒低于阈值,则退回非 busy polling模式。
友情提示:配置示例及说明参见源码 conf/full/ 子目录下的配置文件。
V5.0修复的bug如下:
[fdir] bugfixed: dentry_create set loaded_flags correctly
[fdir] bugfixed: must use lock for db skiplist
[libfdirstorage] bugfixed: set variable normal_update correctly
[libfsstorage] segment reclaim more robustly
FastCFS 5.0通过了比较充分的测试,欢迎有RDMA网络环境的朋友进行性能测试。建议使用FastCFS老版本的用户,尽快升级到最新版本。有任何问题和建议,欢迎在github或gitee上提交issue,也可以加群交流。