全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
云服务器 ECS

Redis在ECS的重要实践

更新时间:2018-01-16 09:48:50

Redis是高性能的key-value数据库,被广泛使用。但Redis作为一个单进程应用,它需要被发挥作用,就需要集群部署,否则无法保障可用性。本次采用Redis-cluster方案,这也是官方推荐的方案。

在给Redis集群选择机型之前,先看下阿里云的企业级ECS实例规格族。

企业级ECS实例规格族

推荐您使用规格族se1ne或者r5。因为Redis对CPU利用率较高,所以,强烈推荐您使用r5。

测试验证

  • 机型:ecs.se1ne.4xlarge 16C128G,单机PPS能力为160万。
  • Redids版本:Redis-4.0.2
  • 压测软件:memtier_benchmark-1.2.10
  • 操作系统:CentOS 7.3

测试方法

官方在Redis cluster方法上介绍的是单机版本,如果这台机器宕机,Redis的整个服务将不可用。而测试采用的是2台实例互备。压测机器是3台ecs.sn1ne.4xlarge 16C32G,3台client 递增压测。

由于memtier_benchmark不支持对集群压测,需要通过hash tag指定key-prefix,以达到压测指定Redis进程。

压测命令

  1. memtier_benchmark -s ${ip} -p ${port} -t 2 -n 100000000 --key-prefix={prefix} --out-file=/tmp/${port}.out > /tmp/${port}.log 2>&1 &

压测拓扑图

Redis_压测拓扑图

压测结果

Redis_压测结果

ecs.se1ne.4xlarge单机最高PPS是160万,2台实例加起来最高PPS是320万,当3台client压测时,压测机的CPU使用率都已经接近100%,已经完全把实例的性能发挥出来了。

本文导读目录