GaussDB(for Redis) 与原生 Redis 的性能对比
说明
本文以原生 Redis5.0 为例,分析其与 GaussDB(for Redis)(下文简称高斯 Redis)的性能、成本比拼。
对比
成本比拼
原生 Redis 的数据存放在内存中,高斯 Redis 的数据存放在磁盘中,我们比较相同数据容量(192G)的成本开销。
即使不考虑原生 Redis 的内存利用率打折,也可以得出,高斯 Redis 的成本是原生 Redis 的 1/3。
压缩比拼
采用 Redis 社区开源的压测工具 memtier_benchmark 写入相同的数据量,比较在两种数据库的空间占用:
即用户写入数据量一样的情况下,高斯 Redis 的数据压缩比是原生 Redis 的 4 倍,因此用户在购买相同数据容量的前提下,高斯 Redis 可以存 4 倍用户数据。
性能比拼
1. 环境准备
Redis Labs 推出的多线程压测工具 memtier_benchmark,它能够产生各种各样的流量模型。因此采用 memtier_benchmark 对原生 Redis 实例和高斯 Redis 实例进行性能评测。
因为高斯 Redis 最小实例的容量是 48G,因此购买对标的原生 Redis 实例,为 64G 主从规格(实际可用内存“号称 51.2G”)。
2. 测试结果
总结
1. 结论:
与原生 Redis 实例相比,高斯 Redis 在成本、可用容量、吞吐、压缩,都有非常巨大的优势,平均时延两者接近,p99 时延有 1 倍差距。
2. 体会:
在压测过程中,原生 Redis 由于容量小、数据无压缩,经常碰到 OOM 问题。推测下 OOM 原因,规格为 64G 的实例,其可用内存并没有宣称的 51.2G 那么大(怀疑只有 50%)。另外,写压测时,流量太大很容易导致原生 Redis 主从堆积,进而触发 RDB 快照,导致 OOM。而高斯 Redis 抗写能力更稳定,且数据强一致存储,无主从堆积问题。可轻松应对业务扩张。
评论