RDS on 倚天释放技术红利

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 2023年5月7日,阿里云瑶池数据库RDS MySQL和RDS PostgreSQL倚天ARM架构全系列目录价下调,最高降幅40%。产品商业策略调整的背后,是持续的软硬件协同技术优化带来的红利释放。


 

以下文章作者为阿里云RDS产研团队


背景


2023年5月7日,阿里云瑶池数据库RDS MySQL和RDS PostgreSQL倚天ARM架构全系列目录价下调,最高降幅40%。产品商业策略调整的背后,是持续的软硬件协同技术优化带来的红利释放。


首先,ARM架构相对于传统的X86架构,在计算性能和能耗效率上具有较大的优势。阿里云RDS产研团队投入大量的研发资源,逐步优化ARM架构数据库的性能,使其可以更加稳定、高效地运行。随着技术逐步成熟,成本也相应降低,这使得降价成为了一个可行的选择。其次,伴随着信息化转型的改革浪潮以及云计算的蓬勃发展,越来越多的企业开始将数据库迁移到云上,对于高性能、低成本的云数据库诉求也越来越多。阿里云RDS倚天ARM架构数据库降价可以更好地满足市场客户需求,作为企业数据资产的重要载体,数据库的高性价比可以明显地降低企业TCO。


综上所述,阿里云RDS MySQL和RDS PostgreSQL倚天ARM架构数据库同时做到了成本更低、性能更优,使得ARM架构数据库具备极致的性价比,帮助客户降本增效,进一步推动云计算市场的发展。


RDS针对倚天ARM架构技术优化


■ 硬件层面

Prefetch预取策略优化

倚天710上默认的Prefetch预取策略不适合数据库的访问场景,RDS产研团队和平头哥芯片团队一起进行了针对性的调整,从预取算法的选择,预取量的控制,预取过程中对L2的使用等方面,选取了一组最适合数据库场景的预取策略。


OS层面

为了更好适配ARM架构,RDS内核团队和OS团队一起,根据ARM架构倚天710特点在OS上进行了深度调优。


调度算法优化

自Linux内核版本2.6.23以来,CFS(Completely Fair Scheduler)成为默认的Linux内核调度程序。CFS为了保证对每个可运行任务的公平处理,会通过累计 vruntime,保证任务调度的公平。在ARM服务上,频繁的线程调度会带来较大的性能开销。基于此,我们针对OS的调度策略做了针对性优化,重点对sched_min_granularity_ns, sched_wakeup_granularity_ns, sched_migration_cost_ns等参数进行了调整,保证RDS在ARM服务器下的性能。


❙  开启代码段大页

在传统X86服务器上,为了保证MySQL的性能稳定,默认关闭了大页。在ARM服务器上,新版本的OS支持了单独的代码段大页,即只对代码段开启大页,数据段不使用大页,从而降低代码段的TLB miss率,提升性能。对于PostgerSQL引擎,无论ARM还是X86,默认都开启了代码段大页。


❙  网卡中断优化

通过“网卡中断聚合”的方式,针对SMP IRQ affinity和RPS做了相关调整,主要减少在处理网络中断时频繁的上下文切换带来的性能损耗,将多个网络队列绑定到一个核上,聚合处理能带来CPU icache使用效率提升。大致示意图如下:

2.jpeg

编译优化

在ARM服务器上,为了提升OS的运行效率,RDS内核团队和OS团队一起,在OS编译过程中引入了PGO(Profile Guided Optimization)的方式,针对数据库的典型负载,对OS进行针对性的编译优化,保证OS在数据库场景下的运行效率。


数据库层面

编译优化

倚天710芯片支持了armv8.6指令集,数据库在编译过程中进行了相应适配,保证指令高效使用。同时在编译过程中启用了LTO(Link Time Optimization)和PGO(Profile Guided Optimization),分别从代码链接优化和运行时profiling反馈优化两个方面,提升数据库的性能。此外,在内存管理上,采用的Jemalloc替换默认的内存分配机制,保障内存分配与回收的高效。


锁优化

锁冲突是数据库并发场景下最常见的性能瓶颈点,数据库内核层面结合倚天710芯片的特点进行了针对性的优化,通过重新设计spinlock的实现、优化指令操作等方式,有效降低了并发场景下的锁冲突问题。


Double Write

MySQL数据库通过double write机制来保证数据写的安全性,但是double write机制也带来了更大的IO压力,特别是在云盘场景下。为此,数据库打通块存储和文件系统,实现了16K原子写的能力,在此能力的保障下,率先可以在ARM体系下安全地关闭double write,降级写IO的压力,极大提升IO Bound场景下的性能。


热点函数优化

数据针对并发访问场景下的典型热点函数进行了针对性优化,对包括:memcpy、crc32、hash_sort等热点函数进行了指令级的优化,充分发挥倚天710芯片的特点,保证数据库的性能。


特色场景优化

倚天710芯片在压缩场景下具有明显的性能优势,依托于倚天710芯片提供的硬件加速能力,RDS PostgerSQL在压缩表场景上进行了优化,开启压缩表后,在存储成本显著降低的情况下性能无退化。


倚天710为云而设计,体现云原生优势


倚天710 CPU是专门为云而生的云原生处理器芯片,主要体现在如下几个方面:


❙ 倚天710芯片无超线程概念,用户使用ECS规格享受的是极致的物理核性能体验,无论用户业务负载压力多大,均不会造成业务性能衰减。在此基础上,芯片设计充分考虑云用户不同规格虚拟机在性能上的可预期性,例如CPU缓存qos特性等,不同规格的划分均具备可预期的线性性能变化,帮助客户充分应对复杂的业务变化。


❙ 倚天710芯片与CIPU实现了1+1大于2的效果。倚天710将自身算力优势和CIPU IO优势结合,使得倚天ECS在用户业务场景取得了优异的性能表现同时,通过以CIPU为核心的理念,倚天ECS的成本和稳定性均得到了很好优化。通过CIPU为核心,我们采用多单路的机型设计方式,在保证低爆炸半径的前提下,提升部署密度,有效降低倚天ECS使用成本。

RDS MySQL为例

经过深度优化性能超过普通自建MySQL


在经过一系列的软硬件优化以后,我们以一个规格为8C32G 100G数据的实例进行Sysbench跑分压测,其中RDS ARM指RDS on 倚天深度优化的实例、X86自建指客户基于X86架构的ECS实例自建同等规格数据库、ARM自建指客户基于倚天架构的ECS实例自建同等规格数据库,具体性能数据如下:

3.png

4.png

5.png


寄语


RDS产研团队经过软硬协同的一系列优化,使得倚天ARM架构数据库性能进一步提升并释放技术红利。在稳定性方面,RDS ARM架构规格承诺与X86一致的高SLA保障,高可用规格最高SLA 99.99%。产品功能和使用体验上也与X86规格完全一致,应用无适配门槛。期望未来给大家带来更多的技术上的变革,普惠RDS云数据库客户。


更多产品相关介绍详见官网:

https://www.aliyun.com/activity/database/rds_arm


RDS MySQL Serverless开通免费试用啦!


阿里云推出“飞天免费试用计划”,面向国内1000万云上开发者,提供云产品免费试用。RDS MySQL Serverless 现推出3个月【免费试用】,快来领取吧!


点击文末「这里」即刻开启云上实践之旅!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL 数据库
数据库降本秘籍:阿里云RDS经济版(RDS倚天版)最高可省48%
RDS倚天版结合软硬件协同技术的优化,持续释放技术红利。 云数据库 RDS MySQL、RDS PostgreSQL 倚天ARM版通用规格最高降价40%
|
弹性计算 编解码 负载均衡
阿里云数据库RDS PostgreSQL倚天ARM实例降价25-40%
阿里云数据库RDS PostgreSQL倚天ARM实例降价25-40%,阿里云产品大规模调价,核心云产品价格全线下调,技术红利释放核心产品最高降幅50%,以下产品的价格调整将于2023年5月7日生效,最终以产品详情页实际情况为准,阿里云百科分享阿里云官网发布的降价产品及降价幅度说明:
296 0
|
弹性计算 编解码 负载均衡
阿里云数据库RDS MySQL倚天ARM实例降价25-40%
阿里云数据库RDS MySQL倚天ARM实例降价25-40%,阿里云产品大规模调价,核心云产品价格全线下调,技术红利释放核心产品最高降幅50%,以下产品的价格调整将于2023年5月7日生效,最终以产品详情页实际情况为准,阿里云百科分享阿里云官网发布的降价产品及降价幅度说明:
365 0
|
SQL 存储 弹性计算
阿里云RDS负责人彭祥:RDS On倚天ECS的技术演进
软硬协同优化,业务代码零改造,实现无缝迁移的同时降本增效
阿里云RDS负责人彭祥:RDS On倚天ECS的技术演进
|
6天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
26天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1
|
28天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
39 4
|
2月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
69 3
Mysql(4)—数据库索引
|
1月前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
192 1

相关产品

  • 云数据库 RDS MySQL 版