前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >磊哥测评之数据库篇:云Redis vs 自建Redis

磊哥测评之数据库篇:云Redis vs 自建Redis

作者头像
腾讯云数据库 TencentDB
修改2019-04-08 21:05:25
13K0
修改2019-04-08 21:05:25
举报

本文转载自磊哥测评

上期我比较了腾讯云和阿里云的MySQL数据库,文章发布之后引起了一些反响,有质疑数据的,也有希望了解更多细节的同学。其实一个数据库产品的好坏,不光是QPS、TPS这种吞吐量指标,其他特性如主从复制、灾备、稳定性、可视化管理等也起着重要作用,有兴趣的同学可以自己去体验一下,我也会逐步完善这些数据库测试。这期我们来看另一个常用的数据库:Redis。

提起Redis大家可能都比较熟悉,但如果问起Redis能做什么,大多数人的印象可能就是缓存。Redis是nosql数据库中比较流行的一种,它具有开源、支持网络、基于内存、单线程等特性。那么在哪些场景会用到Redis呢,主要是下面这么几类。

1.缓存、发布订阅、排行榜

这两年比较火热的直播,成千上万的弹幕在同一时刻发出来,需要排序和显示。礼物一秒几十刷,排行榜更新。基于内存、单线程的Redis就是为此类场景而生的。搜索关注“腾讯云数据库”官方微信立得10元腾讯云无门槛代金券,体验移动端一键管理数据库,学习更多数据库技术实战教程。

2.计数器

这两年火热的微博,明星结婚一条微博几百万赞,实时统计实时推送的热门排行,京东的月销榜单,上新排行。Redis提供的有序集合数据类构能实现各种复杂的排行榜应用。

3.分布式、队列

基于Redis实现的分布式锁、共享session、队列。

看完上面的应用介绍,相信大家对Redis的应用场景都有个大概的了解,闲话少说,接下来我就动手来做一下Redis测试。

Redis-benchmark是官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能。关于Redis-benchmark的使用入门,大家可以自己搜一下。

这次数据库测试我买了腾讯云Redis4.0集群版。也在8核32G的CVM上进行了自建,分别作对比测试,下面是本次测试的详细配置。

测试对象

Redis版本

内存

测试客户端

网络

云Redis

4.0

3*8G

4核16GCVM*2

腾讯VPC

自建Redis

4.0

32G(Redis限制24G)

4核16GCVM*2

腾讯VPC

测试我使用两台腾讯云CVM分别连接云Redis和自建Redis,由于Redis集群版对片数有限制,买不到对应内存的集群版,我通过限制自建Redis的使用内存到24G来对齐两边的内存。

测试指令:redis-benchmark -hxxx -pxxx -axxx xxx-t set,get -r 10000000 -cxxx -n 10000000其中通过-c来调整线程数大小,测试命令为get、set。搜索关注“腾讯云数据库”官方微信立得10元腾讯云无门槛代金券,体验移动端一键管理数据库,学习更多数据库技术实战教程。

首先测试连通性:

然后使用redis-benchmark进行测试,两个客户端同时开始,QPS求和,延时取平均值:

下面我们就来看一下测试结果:

完爆了有木有,这里有同学可能有疑惑了?同样内存,云Redis能爆自建那么多?不科学啊。我也觉得不科学,显然这里的性能瓶颈并不是在内存上,而是卡在了别的地方如CPU。所以说自建Redis时需要考虑的问题很多,对于性能瓶颈的排查也比较困难。QPS并不是Redis唯一最重要的指标,下面我们来看更具参考意义的指标:延时

先给大家解释一下,Redis-benchmark提供了指令时延的分布,0.9999水位线表示百分之99.99的操作延时都低于某个时间,反映了数据库在测试时的总体延时。

测到这里,可能有些朋友要说了,从延时看,好像自建使用也还可以接受。那我就要跟大家讲讲我的感受了。

首先就是搭建Redis集群,光是为了在部署一个单机多节点的集群,笔者就翻遍了各种教程,修改配置文件、启动集群、同步测试,遇到的版本、未知错误的坑一大堆,实在是心累啊。更不用提自建遇到延时和性能问题时的排查和分析,有时恐怕需要有经验的DBA大神才能搞定,其部署和管理成本真心高。搜索关注“腾讯云数据库”官方微信立得10元腾讯云无门槛代金券,体验移动端一键管理数据库,学习更多数据库技术实战教程。

第二点,笔者在准备Redis测试的时候,在选择哪一个版本作为参考对象的时候居然选择困难了。为什么呢,因为选择实在是太多了!光是社区版引擎就分为三类:

· 单机版:支持单节点集群弹性变配,提供超高性价比,提供1GB - 60GB规格。

· 主从版:主从实时同步,主节点故障时系统自动秒级切换,从节点接管业务,全程自动且对业务无影响,主从架构保障系统服务具有高可用性,提供0.25GB - 60GB规格。

· 集群版:灵活的选择分片数量、分片容量以及副本数量,提供业务无感知的扩容和缩容服务,提供12GB - 4TB的规格,支持千万级QPS 性能。

单机、主从版提供最大内存到60G规格,缓存场景完全可以覆盖。对要求更高的场景使用集群版,最高提供到4TB!我不信邪的试了一下:

好吧,真的是4TB,此外还有高达6G的网络吞吐量,千万级QPS真的不在话下。

除此之外呢?

还有方便的系统监控:

还有方便的分片大小和数量调整,弹性扩缩容;有主从热备、自动容灾。这么多方便的特性加起来,价格是多少呢,笔者查了8*4G的Redis集群版包月的价格:

再来看看同样内存的CVM(8核32G),需要多少:

好吧,原来自建的成本也这么高!不得不说一句:带宽是真的贵啊!

到这里本次Redis测试就接近尾声了,其实本次测试的过程不够专业哈,无论是对自建Redis,还是对云Redis,想要测到性能上限,至少需要数台设备一起压测,不过即使这样,我们还是感受到了Redis的魅力。Redis本身并不复杂,一个小巧简单的Key-Value型数据库,却在当今的主流数据库中占据一席之地。天下武功唯快不破,大概就是这个道理吧。搜索关注“腾讯云数据库”官方微信立得10元腾讯云无门槛代金券,体验移动端一键管理数据库,学习更多数据库技术实战教程。

在这期测试中我还有一个很大的发现,那就是:购买云数据库绝不仅仅是购买了数据库本身,更重要的是购买了具有“云”的特性的服务,比如弹性伸缩、系统监控、数据迁移,用户在享受这些服务的同时却无需付出任何运维和部署的成本。所以,那些对Redis有刚需的同学们,就不要再硬撑着自建集群啦,上云之后,一身轻松。

下期,我们一起来看看MongoDB。

搜索关注“腾讯云数据库”官方微信立得10元腾讯云无门槛代金券,体验移动端一键管理数据库,学习更多数据库技术实战教程。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档