时间:2021-07-15 | 标签: | 作者:Q8 | 来源:亚马逊云科技网络
小提示:您能找到这篇{手把手带你体验Amazon Graviton2的高性价比}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的手把手带你体验Amazon Graviton2的高性价比内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
Amazon Graviton2干货小课堂来啦! 先了解一下Amazon Graviton2 2020年5月11日Amazon Graviton2支持的Amazon EC2 M6g实例正式发布,“g”代表“Amazon Graviton2”,这是亚马逊云科技的第二代基于ARM架构的芯片,由Annapurna Labs(亚马逊子公司)利用64位ARM Neoverse N1微架构设计,根据ARM官网资料可以得知这个ARM第一款数据中心定位的CPU架构。Amazon Graviton2的M6g实例和亚马逊云科技第一代基于ARM Cortex-A72微架构的A1实例相比整数性能最高提升7倍。 在Amazon EC2 M6g推出后不久M6gd、R6g、R6gd、C6g、C6gd、T4g、C6gn等系列实例连续推出,目前基于Amazon Graviton2的实例已经有69款之多,支持的region数量也在不断扩大。亚马逊云科技诸多托管服务如Amazon RDS,Amazon EMR,Amazon Elasticache,Amazon EKS也陆续GA了基于Amazon Graviton2的实例支持。这些托管服务方便客户直接享受到Amazon Graviton2的高性价比,从正式发布新闻稿可以看到,Apache Spark的EMR运行时与Amazon EC2 M6g实例的组合可将总成本降低多达76%并将性能提高3.6倍。Amazon Graviton2实例最高可以为RDS开源数据库提供35%的性能改进和52%的性价比提高。Amazon Graviton2成为了Amazon ElastiCache默认选项,可实现高达45%的性价比提升。 在Amazon Graviton2官网和公开案例中我们已经可以发现众多行业客户开始采用。在Web应用、游戏、高性能运算、EDA设计、媒体编解码、数据分析、数据库、内存缓存以及微服务等领域,Amazon Graviton2均实现了大幅的性价比提升。 探索Amazon Graviton2 高性价比 让我们简单分析下Amazon Graviton2的性价比优势。 首先从价格角度,以美西oregon区域为例,同样是4vCPU/16GB内存的通用型实例,M5.xlarge(按需价格0.192 USD/小时)M6g.xlarge(按需价格0.154 USD/小时),后者价格便宜约20%。另外Amazon Graviton2同样支持Spot请求、RI预留、Savings Plans等帮助客户降低成本。 其次技术角度先从vCPU角度来看,M5.xlarge的4vCPU和所有主流公有云一样是4个超线程,虽然M5.xlarge是租户独享2个物理core上的4个超线程,有天然的安全和稳定性优势,但是毕竟超线程共享L2缓存等资源带来的性能提升有限,而Amazon Graviton2不存在x86平台的超线程,每个vCPU都是独立的物理核心,因此均为亚马逊云科技主流产品的4物理核心的M6g.xlarge比2物理核心4超线程的M5.xlarge具备天然的性能优势(4物理核心对2物理核心)。 最后技术角度再简单从Amazon Graviton2以及ARM Neoverse N1设计角度看,Amazon Graviton2基于TSMC(台积电)7nm工艺,单颗CPU包括了64个物理核心(64个vCPU)高于亚马逊云科技5代实例单CPU 24-48物理核心,并且所有核心通过mesh结构互联,而且因为Amazon Graviton2无NUMA设计,每个内核访问其它内核与内存的路径一致,CPU核心访问内存享有一致性延迟,这也就是诸如Redis、mysql、hadoop等应用可以获得令人印象深刻的性能提升的原因之一。 如何开始使用Amazon Graviton2 Amazon Graviton2的使用也很简单,对于托管服务只需在实例选择阶段选择Amazon Graviton2系列实例即可,另外Amazon RDS、Amazon Elasticache等还可以把当前X86实例直接切换为Amazon Graviton2实例。 对于Amazon EC2自建服务,需要在操作系统选择界面时候选择ARM 64位版本即可(这里包括您熟悉的Amazon Linux 2、Redhat、Ubuntu、SUSE Linux、Fedora、FreeBSD、Debian等)。你会发现常用软件包和之前使用的安装方式相同(yum,apt-get,pip,npm…),尽管某些应用程序可能需要重新编译,但是基于解释语言(例如Java,NodeJS,Python,Go)可以未经修改地运行。对于编译型语言,比如C语言、C++语言,或者Python中部分基于C语言开发的工具库等少数情况,您需要重新编译或调试代码,这部分建议参考github上的aws-graviton-getting-started网站。 下面分别以Amazon Linux 2和Ubuntu18.04为例演示Amazon EC2自建系统的主要开发工具和依赖环境的构建过程,考虑大量新版本软件针对ARM做了性能优化,尽量用较高版本如php7.4以上。 第一部分 Amazon Linux 2(由亚马逊云科技提供长期技术支持并免费提供的Linux分支,内核做了深度安全和性能优化,支持免费的内核实时补丁,操作上近似Red Hat 7)参考步骤如下: $ sudo yum update-y#升级内核和重要补丁 $ sudo reboot#内核更新后需要重启系统 $ uname-r#查看内核版本,当前为4.14.200-155.322.amzn2.aarch64 $ sudo yum groupinstall-y“Development Tools”#安装开发工具包 $ sudo amazon-linux-extras enable golang1.11 corretto8 php7.4 python3.8 ruby2.6#这个会输出amazon-linux-extras命令告诉我们要安装那些软件包(这里采用Extras库,也支持EPEL外部源) $ yum clean metadata $ sudo yum install-y golang java-1.8.0-amazon-corretto php-cli php-pdo php-fpm php-json php-mysqlnd python38 ruby ruby-irb rubygem-rake rubygem-json rubygems 下面让我们检查一下刚刚安装的工具版本: $ go version go version go1.13.15 linux/arm64 $ java-version openjdk version“1.8.0_272” OpenJDK Runtime Environment Corretto-8.272.10.3(build 1.8.0_272-b10) OpenJDK 64-Bit Server VM Corretto-8.272.10.3(build 25.272-b10,mixed mode) #Amazon Corretto是开源Java开发工具包(OpenJDK),是OpenJDK的可靠版本并通过TCK认证,Corretto包括安全修复和性能增强,垃圾回收调度,防止内存不足的情况,以及改进的监视,报告和线程管理,并提供长期支持,亚马逊在内部以数千种生产服务运行Corretto。 $ php-v PHP 7.4.11(cli)(built:Oct 21 2020 19:12:31)(NTS) Copyright(c)The PHP Group Zend Engine v3.4.0,Copyright(c)Zend Technologies $ python3.8-V Python 3.8.5 $ ruby-v ruby 2.6.6p146(2020-03-31 revision 67876)[aarch64-linux] 第二部分 Ubuntu18.04参考步骤如下 $ sudo apt update#apt和apt-get相同(后面会分别展示) $ sudo reb小程序商城小程序oot#如果有内核更新,需要重启系统(当前没有) $ uname-r#查看内核版本,当前为5.4.0-1029-aws,update前后并没有变化 $ sudo apt install-y build-essential#安装开发工具包gcc、make等 方法一 如果基于ppa源请参考下面步骤,以PHP和python为例: $ sudo apt-y install software-properties-common#用于添加ppa源 $ sudo add-apt-repository ppa:ondrej/php#PPA含PHP7.4 $ sudo apt update $ sudo apt-y install php7.4 $ php-v PHP 7.4.12(cli)(built:Oct 31 2020 17:04:09)(NTS) Copyright(c)The PHP Group Zend Engine v3.4.0,Copyright(c)Zend Technologies with Zend OPcache v7.4.12,Copyright(c),by Zend Technologies $ sudo add-apt-repository ppa:deadsnakes/ppa#PPA含python3.8 $ sudo apt-get update $ sudo apt-get install python3.8 $ python3.8-V Python 3.8.6 方法二 如果基于传统方式安装请参考下面步骤,以Corretto为例: $ curl https:/如何学习网络营销/apt.corretto.aws/coretto.key|sudo apt-key add– sudo add-apt-repository‘deb https://apt.corretto.aws stable main’ 首先导入Corretto公有密钥,将存储库添加到系统列表 $ sudo apt update $ sudo apt install-y java-1.8.0-amazon-corretto-jdk#如果希望基于java8环境 $ java-version openjdk version“1.8.0_275” OpenJDK Runtime Environment Corretto-8.275.01.1(build 1.8.0_275-b01) OpenJDK 64-Bit Server VM Corretto-8.275.01.1(build 25.275-b01,mixed mode)$sudo apt install-y java-11-amazon-corretto-jdk#如果希望基于java11环境 $ $java-version openjdk version“11.0.9.1”2020-11-04 LTS OpenJDK Runtime Environment Corretto-11.0.9.12.1(build 11.0.9.1+12-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.9.12.1(build 11.0.9.1+12-LTS,mixed mode) 第三部分 Amazon Linux 2下Redis的安装基本过程 $ sudo yum install gcc tcl-y#安装gcc编译器和redis test所需tcl组件。 $ wget http://download.redis.io/releases/redis-6.0.9.tar.gz#官网下载所需版本 $ tar xzf redis-6.0.9.tar.gz#解压缩 编译阶段,这里有2个选择,选择(1)使用默认的jemalloc $ cd redis-6.0.9/deps#进入这个目录 $ make hiredis jemalloc linenoise lua geohash-int $ cd..#回到redis主目录 $ make 选择(2)使用MALLOC $ cd redis-6.0.9 $ make MALLOC=libc 安装完毕可以运行下面测试 $ make test#验证redis安装成功,底部可以提到:“o/All tests passed without errors!” $./src/redis-server&#后台运行redis服务 $./src/redis-cli#运行redis客户端 127.0.0.1:6379>ping#测试redis工作正常 PONG 另外还可以运行redis自带测试工具./src/redis-benchmark进行性能测试 第四部分 Ubuntu18.04下Redis的安装基本过程 $ sudo apt update $ sudo apt install build-essential tcl-y $ wget http://download.redis.io/releases/redis-6.0.9.tar.gz $ tar xzf redis-6.0.9.tar.gz $ cd redis-6.0.9 $ make 有兴趣的朋友可以对比测试下亚马逊云科技5代实例和Amazon Graviton2系列实例,看看在相同vCPU下,您的应用性能提升是否满意。 |
上一篇:腾讯云:ASW工作流最佳实践(二):使用ASW并发
下一篇:选择Lazada&Shopee本土店经营的几个理由
小提示:您应该对本页介绍的“手把手带你体验Amazon Graviton2的高性价比”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通手把手带你体验Amazon Graviton2的高性价比的相关事宜。
关键词:手把手带你体验Amazon,Gra