2024年7月,Valkey开始实验性支持RDMA作为传输层,在1KB的KV场景下,性能提升到大约250%,延迟降低一半,合理绑核、配置网络中断和RDMA completion vector的场景下,主流的CPU甚至可以突破单核500K QPS(详情见valkey.conf中的rdma-completion-vector)。
里程碑!Valkey Over RDMA单核性能突破400K QPS
但是Valkey一直以来依赖hiredis作为client端库,而Valkey Over RDMA的支持并没有合入到hiredis中,所以测试、实验Valkey Over RDMA都需要使用一个非官方的特定分支,环境搭建存在一定的门槛,也会让人望而却步。
直到最近的2025-5-7,libvalkey发布0.1.0版本,正式代替hiredis合入到valkey中。libvalkey中已经支持了Valkey Over RDMA,因此仅需要少量改动,valkey-cli和valkey-benchmark即可支持RDMA。我(pizhenwei)向valkey上游为valkey-cli和valkey-benchmark增加了--rdma参数,这部分改动在2025-5-9合入上游。拉取最新的代码后,make BUILD_RDMA=yes即可使能Valkey Over RDMA,--help之后可以看到命令行工具增加了--rdma选项。
其他参数不变(相比于TCP)的情况下,valkey-benchmark带有--rdma参数即可以体会到2.5倍的快乐!