Ampere Computing Logo
Contact Sales
Ampere Computing Logo

腾讯Arm云实例评测 —— Web 应用

腾讯CVM标准型SR1是腾讯云服务器推出的首款搭载ARM架构处理器的新一代CVM标准型计算实例规格。SR1基于全核一致主频3.0GHz的Ampere® Altra® 处理器,实例核数从1核到64核,并支持1: 2、1: 4等多种处理器与内存配比,相对x86架构实例为用户提供卓越的性价比。 本文将针对Web应用中多个核心工作负载对SR1的性能与最新的x86架构的S6(Intel Icelake)实例进行实测对比,从而为SR1在Web应用场景下的性价比优势较为全面的数据参考

Web应用的简介

Web 服务是基于开放标准(XML、SOAP、HTTP 等)的 Web 应用程序,它可以独立于实现它的硬件或软件平台使用,也可以独立于编写它的编程语言。 这种独立性决定了基于 Web 服务的应用程序是松散耦合的、面向组件的、使用容器化微服务的实现。

随着云计算的发展和云服务器的弹性优势,Web应用的更高级形式基于云的应用已经成为主流。作为“进化”的 Web 应用程序,基于云的应用程序通常具有高级功能,访问更广泛的服务,为其客户提供基于业务逻辑的动态内容。现今这类Web应用的典型代表如社交应用,互动媒体平台,电子商务网站,在线数字服务,以及万物互联的IoT系统。

Web 应用程序是客户端-服务器框架系统,客户端是指个人用来运行应用程序的程序。它可以是浏览器,也可能是需要独立安装运行的软件,比如手机上的APP,微信小程序,或者电脑客户端等。

在云化应用中,“服务器”端是云,是基于微服务架构的云原生模式,其中单个服务由许多松散耦合且可独立部署的较小组件或服务组成。 基于微服务的Web应用程序架构将传统的单体应用程序分解为其组件功能,应用程序功能不再部署在单一代码源中。微服务架构将每个功能隔离为一个小型、自主运行的应用程序(即微服务),该应用程序通常在容器化环境中运行,以进行更轻量级的部署和执行。

整个堆栈逻辑上可分为三层,即前端(Frontend)通过负载均衡服务器将用户请求路由到后端,然后是松耦合模块化的业务逻辑层,最后是数据缓存和存储层。

web-services-sr1-1.png

本次评测将选择NGINX,Redis和MySQL三个在Web服务系统中最为关键的工作负载,他们的性能数据可以直接反映出SR1云服务器在Web应用场景下的表现。

测试环境

为了尽可能全面地了解全新架构实例SR1在Web应用下的整体表现,本文将在2种不同大小实例上进行测试,具体实例配置如下:

web-services-amp-vs-intel.png

NGINX 是一个开源的高性能 HTTP 服务器和反向代理,捆绑了许多其他与 Web 服务相关的功能。 NGINX 在许多流行的高流量网站中常用作负载均衡器、反向代理和 http 服务器。它使用复杂的事件驱动架构,使其能够支持数十万个并发连接。NGINX 性能可以反应Web应用的业务处理能力和用户并发容量。下图为测试实例下的测试配置。

nginx-sr1.png

Redis 是一种开源的内存键值数据结构存储,用作数据库、缓存、消息代理和流引擎。 在众多Web 服务基础设施Redis都是主流选项。根据 DB-Engines.com 的月度排名,Redis也 是最受欢迎的键值存储系统。

redis-sr1.png

MySQL是关系型数据库管理系统,也是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之选。

mysql-sr1.png

测试结果

为了数据更加直观,本文将基于英特尔IceLake CPU的S6云实例作为比较基准,即100%,SR1实例数据取相对比例。 首先是NGINX在8 vCPU实例上的数据,本测试中以5ms的P99延迟SLA下的每秒HTTPS请求数为性能指标。在性能上,基于Ampere Altra CPU的8核SR1实例相比S6高出35%;如果考虑价格因素,以一年计费价格, SR1相对S6实例的性价比高出77%。

image
image

在16 vCPU的实例配置下稍有变化, SR1的性能相对S6扩大5%达到40%,而性价比提升达到85%。

image
image

接下来是Redis的数据,与NGINX的比较方法类似,测试中以1ms的P99延迟SLA下的每秒请求处理数量为性能指标。在8 vCPU实例上的性能,SR1高于基准S6实例14%。同样加入价格因素,看性价比,则SR1在Redis的性价比相对基准S6高50%以上。

image
image

在 16 vCPU 实例中, SR1 比 S6 的性能提升 8%,性价比提升 43% 。

image
image

最后,我们看一下MySQL的数据。本测试中性能以对算力,存储综合要求更高的mysql oltp_read_write负载,在100ms的P95延迟SLA下的每秒查询数量为性能指标。加入价格因素的性价比,SR1比S6实例的优势保持在46%(8 vCPU实例)和51%(16 vCPU 实例)。

image
image
image
image
总结

综合三种Web应用程序中关键的工作负载测试数据,可以基本判断基于SR1实例的Web应用相比S6实例,平均会有50%以上的性价比提升。这就意味着Web应用的软件服务提供商可以用同样的成本提供超过1.5倍的业务处理能力,或者说在保持现有的业务量的情况下,采用SR1 实例相对S6可以使用更少的云服务器,节省33%以上的绝对成本。

最后,关于Web应用在Arm架构上部署几乎与x86的平台无异。就本次测试的三个关键工作负载在SR1也是非常顺利。NGINX采用直接Yum安装运行,对于Redis和MySQL也可以通过Yum方式安装,但这次的评估中为了性能的考虑,重新编译了源代码,但不需任何源码修改,wget下载源代码,然后配置正确的编译参数,编译即可。

Ampere Computing免费试用计划为开发者开放了SR1实例的申请通道,可以通过该计划免费试用SR1实例,亲自体验全新架构算力平台。 另外,开发者也可以从Ampere解决方案网站上获取开发语言,应用程序以及工具软件包等大量可直接使用的,在Arm架构编译后的兼容镜像信息,基本覆盖了绝大部分云原生开发所需的资源。

附录

软件版本,安装,配置信息。

软件版本信息安装方式

Nginx
   
1.14.1   
   
sudo yum   install nginx -y   
   
Wrk   
   
4.2.0   
   
wget   https://github.com/wg/wrk/archive/refs/tags/4.2.0.tar.gz
   
tar zxvf   4.2.0.tar.gz
   
cd   wrk-4.2.0/
   
make   -j`nproc`   
   
MySQL   
   
8.0.27   
   
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.27.tar.gz
   
tar zxvf mysql-8.0.27.tar.gz
   
mkdir build; cd build
   
OPT_FLAGS="-g -O3 -fno-omit-frame-pointer   -march=armv8.2-a -DNDEBUG"
   
cmake ../mysql-8.0.27   -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../BOOST   -DCMAKE_C_FLAGS_RELWITHDEBINFO="$OPT_FLAGS"   -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$OPT_FLAGS"   -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_UNIT_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$MYSQL_INSTALL_DIR
   
make -j`nproc`
   
sudo make install   
   
sysbench   
   
master   
   
wget   https://github.com/akopytov/sysbench/archive/refs/heads/master.zip
   
unzip   master
   
cd   sysbench-master
   
./autogen.sh
   
./configure
   
make   -j`nproc`
   
sudo make   install   
   
Redis   
   
6.2.1   
   
wget https://github.com/redis/redis/archive/refs/tags/6.2.1.tar.gz
   
tar -xvzf 6.2.1.tar.gz   cd   redis-6.2.1"   make   CFLAGS="-DUSE_PROCESSOR_CLOCK -march=armv8.2-a"   
   
Memtier   
   
master   
   
git clone   https://github.com/RedisLabs/memtier_benchmark
   
cd   memtier_benchmark
   
git   checkout 793d74dbc09395dfc241342d847730a6197d7c0c
   
autoreconf   -ivf
   
./configure
   
make -j`nproc`   
Created At : April 12th 2023, 7:52:59 pm
Last Updated At : April 12th 2023, 8:04:50 pm
Ampere Logo

Ampere Computing

4655 Great America Parkway

Suite 601 Santa Clara, CA 95054

image
image
 |  |  |  |  | 
© 2022 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site runs on Ampere Processors.