鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Redis网络异步优化

应用场景:Redis在pipeline和非pipeline场景都具有较大的网络开销,尤其非pipeline场景,Read/Write会阻塞当前线程直到数据可用,并且需要频繁的上下文切换,在高并发时性能较差,容易出现阻塞等待。

技术原理:Redis网络异步化通过将Redis中网络I/O操作交由KBAIO异步批量执行,减少系统调用和上下文切换,实现Redis业务无阻塞执行,从而提高Redis吞吐量。通过配置sqpoll模式,KBAIO启用一个内核线程,自动处理网络I/O事件,实现无需系统调用完成I/O操作。

性能指标在2U10G规格,docker+bond4+ipvlan组网场景下,redis-benchmark压测较于Redis开源版本有20%以上提升。

图1 优化特性使能前后性能对比

如何使用:通过patch文件+so动态库以开源形式提供,该patch文件基于开源Redis 6.0.20编译安装部署。