倚天使用|Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。

简介

Redis(Remote Dictionary Server)是一种开源的内存型数据存储,通常被用作数据库缓存系统。 它广泛用于医疗卫生系统、物联网和金融服务等实时应用行业。 Redis具有高度可扩展性,可用于实时分析、缓存、发布/订阅应用程序和会话管理。

Redis是一种Key-Value的No SQL数据库,性能是Mysql的10-100倍;支持多种数据类型(String、Hash、List、set、zset...),支持通过CLI、API、GUI等方式读写。与SQL数据存储在磁盘不同,Redis数据在内存中。倚天ECS采用DDR5内存,可获得比DDR4高50%带宽,实现更高性能的读写性能。同时在超高并发下,物理核+大Cache设计比传统的Hyper thread的共享ALU和cache,可获得更好的性能。

生产环境中,一般采用R系列(内存:CPU=8),在本文中,我们在阿里云 ECS G8y 实例(基于 Armv9 的倚天 710 处理器)和G7 实例(x86)上做了Redis的吞吐量测试对比,以展示倚天 710 的性能优势。

架构和环境

我们使用 memtier_benchmark作为负载生成器和性能基准测试工具。 它是 Redis Labs 为 Redis 构建的开源高吞吐量基准测试工具。 memtier_benchmark 部署在单独的 ECS 实例上。

对于Redis服务器,我们在4xlarge实例部署了16个Redis进程,并组成Redis集群模式,测试拓扑如下。16个Redis进程通过绑核方式使其调度多个CPU上,充分发挥每个Core能力,部署架构如下

图1. Redis部署架构-基准测试拓扑

两种被测ECS实例类型配置如下。基准测试客户端使用了一个单独的G8y.16xlarge实例。

Processor

ECS type

Yitian 710

G8y.4xlarge

x86 CPU

G7.4xlarge

表1.1 测试ECS实例规格

Redis软件版本和测试参数。

Component name

Version

Redis

5.0.12

GCC version

10.2.1 20200825 (Alibaba 10.2.1-3 2.32)

Memtier benchmarking tool

1.3.0

Operating System

Alibaba Cloud Linux 3.2104 LTS

表1.2 Redis软件版本

Test config parameter

Value

Number of Memtier clients

2

Number of threads

32

Number of consecutive tests runs

3

Data size

random

Data size pattern

S

Protocol

Redis

Key pattern

G:G

Reading and writing ratio

1:1

Test time

60

Cluster-mode

Yes

Pipeline

1

表1.3 Redis测试参数

性能优化和测试结果

测试脚本

memtier_benchmark -s $redis_server_ip -p 7001 --random-data

  --data-size-pattern=S --key-minimum=200 --key-maximum=100000

  --key-pattern=G:G --cluster-mode --clients=2 --threads=32

  --ratio=1:1 --test-time=60

Redis-server运行在4xlarge实例上,16个进程组成一个集群,redis proxy 端口为7001,压测端使用16xlarge实例进行压测,memtier_benchmark创建2clients 32threads对redis 集群发送请求,相当于64个并发请求,每条请求会通过7001端口所在redis进程均衡到集群上。

通过在倚天上启用Booster加速,包括XPS (Transmit Packet Steering)以及中断调优手段, Yitian 710 与同规格的 x86 的 ECS 实例相比,Redis 数据库的吞吐量性能优势高达 35% 。下表中显示的结果是 5 次连续测试运行的汇总结果。

Redis性能优化方案通过ECS Booster一键开启。在实例创建阶段,选择倚天实例G8y,选择Alinux操作系统,勾选加速选项“redis加速”即可。

图2. ECS Booster一键加速功能开启

采用Booster加速,可以大幅度提升性能Redis 在 G8y 和 G7 实例上的性能数据如下:

调优措施

G7.4xlarge

(Requests/sec)

G8y.4xlarge 

(Requests/sec)

Perf benifit gain

 (%)

基础

2252137

2307270

2%

Booster开启redis加速

2252137 

(无加速开关)

3046344

35%

表2. (G8y vs. G7) Redis 吞吐量性能数据

优化前后的性能测试表格如下:

图3. (G8y vs. G7) Redis吞吐量性能优势

平台选择决策

为了帮助用户决策,我们还测试了Redis6在最新主流场景的性能,在多款ECS产品中对比性能见图(8vcpu,其他参数与前文相同)

图4. Redis ECS多代实例性能横向对比

另外,第八代ECS支持eRDMA,有效减少内存拷贝,降低网络时延,提升吞吐量,能帮助Redis大幅度提升处理性能;下图为阿里某客户业务性能。

图5,R8y.xlarge,4c32g规格下Redis qps性能数据

  • 注意事项:
  • Redis:4、5、6、7版本在倚天上均可直接运行,优化后性能都具备性能优势。(其他OS请联系服务支持优化)
  • Booster加速:默认对Alinux3环境加速,默认安装redis6(可自行更换版本)
  • 实例推荐:鉴于Redis消耗内存容量大,建议使用R系列内存型实例;
  • 不适用场景:vcpu资源部分闲置场景。比如x86场景下,2HT只使用1个进程,导致1HT闲置,如更换为ARM服务器性能不具备优势(只发挥50%物理核能力)

总结

Redis是数据库加速方案最流行开源软件。适合电商、网站、博客等应对突发、大流量访问,需要数千台的部署。与同规格的基于 x86 的 ECS 实例相比,Redis部署在基于 Yitian 710 的 ECS 上可获得超过30%吞吐量性能优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。

好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8

【扫码填写上方调研问卷】

欢迎每位来到弹性计算的开发者们来反馈问题哦~

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
420 4
|
22天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
2天前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线
|
4天前
|
弹性计算
阿里云ECS的使用心得
本文主要讲述了我是如何了解到ECS,使用ECS的一些经验,以及自己的感悟心得
|
17天前
|
弹性计算 安全
电子好书发您分享《阿里云第八代企业级ECS实例,为企业提供更安全的云上防护》
阿里云第八代ECS实例,搭载第五代英特尔至强处理器与飞天+CIPU架构,提升企业云服务安全与算力。[阅读详情](https://developer.aliyun.com/ebook/8303/116162?spm=a2c6h.26392459.ebook-detail.5.76bf7e5al1Zn4U) ![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_f422f7cb775444bbbfc3e61ad86800c2.png)
35 14
|
19天前
|
NoSQL Shell Redis
批量迁移redis实例的key
批量迁移redis实例的key
|
1月前
|
SQL 数据可视化 Apache
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
阿里云数据库 SelectDB 内核 Doris 的 SQL 方言转换工具, Doris SQL Convertor 致力于提供高效、稳定的 SQL 迁移解决方案,满足用户多样化的业务需求。兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移。
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
|
1月前
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
225 2
|
1月前
|
弹性计算 小程序 开发者
阿里云服务器性能测评:25M带宽阿里云云服务器支持多少人访问?
在深入探讨25M带宽云服务器的性能时,我们首先要明确一个核心概念:带宽与服务器能够支持的同时访问量之间存在着直接的关联。那么,大家可能会好奇,带宽为25M的云服务器究竟能够支持多少用户同时访问呢?
129 0
|
1月前
|
存储 弹性计算 运维
阿里云轻量应用服务器与标准型阿里云服务器ECS全面对比(配置、价格)
随着云计算技术的蓬勃发展,阿里云作为业界的佼佼者,推出了多样化的云服务器产品以满足不同用户群体的需求。在这些产品中,阿里云轻量应用服务器与标准云服务器(ECS)因其各自的特点而备受关注。下面,我们将从多个角度对这两款产品进行深入剖析,以帮助您更好地选择适合自身需求的云服务器。
659 2

热门文章

最新文章

相关产品

  • 云服务器 ECS