pika354业务侧测试性能提升效果 #2750
orangesapor
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
场景
搜索统一推荐,业务侧只有mget类型命令,由于业务反馈老实时失败率一直处理30%左右,对于整个推荐耗时难以接受
业务侧失败率计算:超过35ms 则认为失败
机器规格: CPU 16core, 20GiB 内存, 500GiB 磁盘
原理
我们可以引入一种高效的优化策略,以提升用户访问效率,特别是针对访问频繁的 "热点 key" 进行优化。在执行 MGET 操作时,该策略首先访问缓存,记录命中的 key-value 对;对于未命中的 key,将其记录并从数据库(DB)查询相应的值。查询完成后,合并从缓存和数据库获取的数据,按照原有顺序返回给用户,并将数据库查询得到的数据更新至缓存。这样可以显著减少磁盘 IO 操作。下面详细描述该流程:
这种优化方案能够有效减少磁盘 IO 操作,提高系统的访问效率和性能。查询及更新数据的流程图如下所示:
缓存情况
命中率差不多56%左右
效果图
老版本pika336业务侧失败率图
非nvme盘 cpu:40c 内存256g flash盘
新版本添加缓存并且mget支持效果图
非nvme盘 cpu:40c 内存256g flash盘
nvme盘 cpu:96c 内存756g ssd
总结
Beta Was this translation helpful? Give feedback.
All reactions