AWS基于x86 vs Graviton(ARM)的RDS MySQL性能对比

概述

这是一个系列。在前面,我们测试了阿里云经济版(“ARM”)与标准版的性能/价格对比;华为云x86规格与ARM(鲲鹏增强)版的性能/价格对比。现在,再来看看AWS的ARM版本的RDS情况

在2018年,AWS首次推出Graviton EC2实例,2020年7月AWS RDS正式支持Graviton 2的实例,就在前两天,在最新的AWS re:Invent大会上,AWS已经推出了第四代Graviton 4实例。现在,AWS的Graviton已经较为成熟,也在大量的企业和应用被广泛使用。AWS官方也宣称使用Graviton 2的RDS实例能够有52%的性价比提升(参考)。这里,来通过标准的Sysbench测试来实测一下,看看实际Graviton 2实例的效果。

与上次阿里云测试相同,这次依旧是使用了同样的测试工具和场景,对较为常用的4c16gb,即db.m6g.xlarge和db.m5.xlarge实例,进行并发数分别为2 4 8 16 24 32 48 64 96 128的测试。

测试结论

在性能上,平均来看,x86要比Graviton实例性能高约12.7%;x86规格延迟要比Graviton规格低15%。也注意到,在超高并发的情况下(并发超过96时),Graviton实例与x86实例无论是在性能,还是延迟上,是比较接近的,不过,这时候系统压力太大、延迟太高,对实际使用并没有太大的参考价值。

为了更加直观的做性价比的比较,这里选取16并发时的数据进行对比。在16并发下,Graviton实例的TPS是275,db.m6g.xlarge价格是$0.836/小时;x86实例的TPS是341,价格是$0.94/小时。那么每100TPS,Graviton价格是0.304,x86是0.275。所以,在16并发时,相比之下,x86规格的性价比更高,高出Graviton实例10%。这个结果与测试之前预期还是非常不一样的,也与AWS宣称的完全不同。

只有在超高的并发情况下(96/128并发),Graviton实例的吞吐量才与x86接近,这时,Graviton实例才表现出接近10%的性价比优势。但这种高并发在实际场景中并不是常态,所以并没有很强的参考价值。

这个测试结果与预期的差别比较大,所以后来又再做过一次测试,结果与这次基本相同。所以,性能到底怎样,还是最终要自己实际测试,因为宣传的数据,通常都是非常极端的适配该产品的场景,并不是真实的场景。

以下两幅图分别是TPS和平均延迟的对比图:

横坐标是sysbench的并发线程数,纵坐标分别为tps和平均的延迟。

测试模型说明

这里使用了sysbench的读写混合模型(oltp_read_write)进行测试,单表大小为100万,共十个表,单次测试时长为300秒,分别测试了如下的并发度的性能表现:2、4、8、10、12、14、16、24、32。

实例配置与价格

这里选择了较为常用4c16gb的实例进行测试,各个选项尽量选择默认选项,以更加接近的模拟用户实际场景,具体的,版本是AWS默认的8.0.33、多可用区版、存储默认加密、gp3存储、100GB空间、3000 IOPS、Performance Insight也默认开启。完整的选项参考如下:

AWS的价格分为计算节点价格(CPU与内存)、存储价格、IOPS价格,这里仅关注计算节点价格。存储和IOPS对于ARM和x86实例来说,是相同的。这里的选择的是东京地区、多可用区实例的价格,如下:

后续,也还将测试基于 io1(Provisioned IOPS SSD) 存储的RDS。

详细测试数据参考

AWS RDS Graviton

(db.m6g.xlarge/gp3/100gb/3000iops/8.0.33)

threads|transactions| queries| time |avg/Latency|95%/Latency      2|       11951|  239020|300.03|      50.21|      55.82      4|       23322|  466440|300.04|      51.45|      57.87      8|       43654|  873080|300.05|      54.98|      65.65     16|       82519| 1650380|300.05|      58.17|      70.55     24|      120541| 2410820|300.06|      59.74|      73.13     32|      156680| 3133600|300.07|      61.28|      74.46     48|      218709| 4374180|300.06|      65.85|      81.48     64|      269430| 5388600|300.08|      71.27|      90.78     96|      329366| 6587320|300.07|      87.45|     121.08    128|      351579| 7031580|300.11|     109.24|     164.45

AWS x86实例

(db.m5.xlarge/gp3/100gb/3000iops/8.0.33)

threads|transactions| queries| time |avg/Latency|95%/Latency      2|       13357|  267140|300.03|      44.92|     112.67      4|       27539|  550780|300.03|      43.57|      50.11      8|       55330| 1106600|300.04|      43.38|      51.94     16|      102408| 2048160|300.05|      46.87|      56.84     24|      145718| 2914360|300.05|      49.41|      61.08     32|      186619| 3732380|300.05|      51.44|      63.32     48|      260415| 5208300|300.04|      55.30|      69.29     64|      306939| 6138780|300.08|      62.56|      82.96     96|      330131| 6602620|300.09|      87.25|     123.28    128|      348095| 6961900|300.12|     110.34|     155.80

小结

AWS RDS在发布Graviton 2实例时,曾宣传Graviton 2实例有52%的性价比提升。但是在这里的Sysbench混合读写的测试场景下,反而是x86性价比优势更加明显,16并发时,x86性价比要高出Graviton实例10%。而仅是在超高并发时,Graviton实例性价比才比x86高10%。但是,一般我们不会让4c16的实例,运行在如此高的压力下,所以后面这种情况的参考意义并不强。

虽然AWS曾大量宣传Graviton实例,但是实测下来并没有什么性价比的优势。所以,在数据库应用场景下,使用AWS Graviton实例的必要性,似乎并不高。另外,也注意到,RDS Graviton 3的实例一直都没有推出,也许这是其中的原因之一。

参考

1. AWS Graviton Processors

2. Achieve up to 52% better price/performance with Amazon RDS using new Graviton2 instances

3. AWS Graviton – Wikipedia

关于作者:orczhou,云数据库专家,NineData联合创始人,Oracle ACE(MySQL),《高性能MySQL》第三、四版译者,曾任阿里云数据库资深专家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/224069.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习猫狗分类 - python opencv cnn 计算机竞赛

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习猫狗分类 ** 该项目较为新颖&a…

华为配置流量抑制示例

如拓扑图所示,SwitchA作为二层网络到三层路由器的衔接点,需要限制二层网络转发的广播、未知组播和未知单播报文,防止产生广播风暴,同时限制二三层网络转发的已知组播和已知单播报文,防止大流量冲击。 配置思路 用如下…

gpt1与bert区别

区别1:网络结构(主要是Masked Multi-Head-Attention和Multi-Head-Attention) gpt1使用transformer的decoder,单向编码,是一种基于语言模型的生成式模型,更适合生成下一个单词或句子 bert使用transformer的…

Vue 父传子组件传参 defineProps

defineProps 属性:用于接收父组件传递过来的数据。 注意:如果 defineProps 接收的参数名,和已有变量名相同,就会造成命名冲突。 语法格式: // 无限制 const props defineProps([参数名, 参数名]);// 限制数据类型 …

Spring Boot 项目的创建、配置文件、日志

文章目录 Spring Boot 优点创建 Spring Boot 项目创建项目认识目录网页创建(了解) 约定大于配置Spring Boot 配置文件配置文件格式读取配置项properties 配置文件yml 配置文件基本语法进阶语法配置对象配置集合yml 设置不同环境的配置文件 Spring Boot 日…

springboot——自动装配

自动装配 Condition: Condition内置方法:boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata),返回值为布尔型 重写matches方法的类:SpringBootCondition等 SpringBootCondition:springboot自带的实现类…

QT5.4.1无法打开文件

问题描述:起初是在QT代码中运行打开文件代码: QString gFilename QFileDialog::getOpenFileName(this,"open File",path,"*", nullptr,QFileDialog::DontUseNativeDialog);时,出现了堵塞情况,经过多次实验一…

Qt进程和线程

一、进程 在设计一个应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经可以使用现成的程序很好的实现了,这时就可以在当前的应用程序中调用外部的程序来实现该功能,这就会使用到进程。Qt应用程序…

go语言 | etcd源码导读(一)

参考 本文参考https://zhuanlan.zhihu.com/p/600893553 https://www.topgoer.com/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C/go%E6%93%8D%E4%BD%9Cetcd/etcd%E4%BB%8B%E7%BB%8D.html 前沿etcd 与 raft etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系…

分享“技艺与传承”的魅力!春城晚报(开屏新闻)生活节第七期媒体开放日活动举行

近日,由云南报业传媒(集团)有限责任公司、云南春晚传媒有限公司指导;金格金俊广场、云南精品文化传媒有限公司联合主办的第七期媒体开放日活动在金格金俊广场B1共享空间举办。本次活动以「技艺与传承」为主题,特邀青年…

处理实时视频流:第三方美颜SDK的实时图像处理策略

为了提高用户体验,许多应用和平台开始采用第三方美颜SDK,通过先进的图像处理技术实时改善视频中的面部外观。本文将深入探讨这些第三方美颜SDK在实时视频流处理中所采用的图像处理策略,揭示其背后的技术原理和创新。 一、引言 实时视频流处理…

软著项目推荐 深度学习的视频多目标跟踪实现

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的视频多目标跟踪实现 …

深度学习(六):paddleOCR理解及识别手写体,手写公式,表格

1.介绍 1.1 什么是OCR? 光学字符识别(Optical Character Recognition, OCR),ORC是指对包含文本资料的图像文件进行分析识别处理,获取文字及版面信息的技术,检测图像中的文本资料,并且识别出文本的内容。…

文献阅读:基于改进ConvNext的玉米叶片病害分类

文献阅读:基于改进ConvNext的玉米叶片病害分类 CBAM注意力机制模块: 1:通道注意力模块,对输入进来的特征层分别进行全局平均池化(AvgPool)和全局最大池化(MaxPool)(两个…

详解nginx优势以及应用场景,实操编译安装和nginx版本平滑升级

目录 一、nginx的特点 那么nginx有哪些特点? 先讲nginx的优点: 缺点: 二、nginx与Apache的区别 三、nginx的应用场景 四、nginx为什么能支持高并发 五、为什么nginx不使用多线程 六、nginx的两种进程分别有什么作用 七、编译安装ngi…

Linux文件部分知识

目录 认识inode 如何理解创建一个空文件? 如何理解对文件写入信息? 如何理解删除一个文件? 为什么拷贝文件的时候很慢,而删除文件的时候很快? 如何理解目录 ​编辑 文件的三个时间 ​编辑 Access: …

HarmonyOS架构及关键技术整理

技术解析:鸿蒙系统的底层优势 鸿蒙系统采用了先进的微内核设计,这是一种全新的系统架构,能够更好地适应现代智能设备的多样性和互联性。微内核通过最小化系统的核心功能,提高了系统的安全性和可定制性。此外,鸿蒙系统…

利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能

在这篇博客中,我们将详细讨论使用阿里云 CDN 和安全产品保护您的在线业务所需的步骤。 方案描述 创新技术的快速发展为世界各地的在线业务带来了新的机遇。今天的人们不仅习惯了,而且依靠互联网来开展他们的日常生活,包括购物、玩游戏、看电…

react 学习笔记 李立超老师 | (学习中~)

文章目录 react学习笔记01入门概述React 基础案例HelloWorld三个API介绍 JSXJSX 解构数组 创建react项目(手动)创建React项目(自动) | create-react-app事件处理React中的CSS样式内联样式 | 内联样式中使用state (不建议使用)外部样式表 | CSS Module React组件函数式组件和类组…

UDP多人群聊

一,创建类 二,类 1,Liao类 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.*; import java.io.IOException; import java.lang.String;public class Liao extends JFrame{private static final int D…