高性能 AMD 云主机如何选?AWS、谷歌云、UCloud、腾讯云测试大 PK | 技术

近年来,在云计算、大数据和人工智能等技术的快速发展下,数据中心的计算能力也面临着越来越高的挑战。就数据中心的 CPU 处理器选择而言,AMD 因其最新一代 EYPC 处理器的强劲性能、低功耗以及低成本的优势逐渐赢得主流云厂商的青睐。

据悉,AWS、谷歌云、UCloud、Azure、IBM Cloud、腾讯云等云商均已推出基于 AMD EYPC CPU 型的云主机,属于云厂商中的先行者。

为了便于用户直观比较不同云商的 AMD 云主机的性能差异,2020 年 5 月初,CIO 时代学院发起了针对市面上几款主流的 AMD 云主机测试。本次测试的 AMD 型云主机在保持尽量相同的测试环境下,提供客观公正的测试数据,从技术层面对不同厂商的 AMD 云主机进行性能(CPU、磁盘、网络等)与性价比测评分析。

一、选型说明

本次参与实测的 AMD 云主机型号分别是国内的 UCloud 快杰型 AMD、腾讯云 SA2,国外的 AWS m5a、Google 云 n2d。在高性能云主机的常用配置中,我们对四家云商分别选择了 8 核 32G 和 2000G 数据盘。下图是具体的配置信息:

二、测试方法

本次测试主要利用 Unixbench 性能测试工具、圆周率 Pi 测试、FIO、Netperf 等测试方法,对云主机的 CPU 性能、磁盘性能和内网质量等分别进行测试,此外还针对 Nginx、MySQL、ClickHouse 三种常见的应用场景做了测试比较。

本报告中的每项测试指标均以 3 次测试的平均值作为最终数据,且云主机每完成一次测试需空跑 8 小时以上再进行下一次测试。

三、实际性能考察

为了更加清晰直观的展示四款 AMD 云主机的性能差异,我们摘取了本次测试结果中的几个重要技术指标以供大家参考,包括 CPU 耗时、磁盘 IOPS、数据包转发 PPS、TPS/QPS 等等。

1、CPU 性能

CPU 是云主机操作系统稳定运行的根本,CPU 的运行时间在很大程度上决定了云主机的性能。我们在相同测试环境下使用 bc 命令进行浮点运算,小数点后的位数为 5000,测试耗时越短则表明性能越好。搭载了 AMD EYPC 处理器的四款云主机,在 CPU 性能上是否有差距呢?我们来一探究竟:

根据上图我们可以直观的看出,在 8 核 CPU 的情况下计算圆周率 PI 时,UCloud 耗时最短为 16.54 秒,AWS 耗时最长为 21.11 秒,腾讯云和 Google 云则相差不大,分别为 17.42 秒和 18.02 秒。UCloud 相比腾讯云和 Google 云可减少 0.88 秒~ 1.48 秒的 CPU 耗时,比 AWS 可节省大约 4.57 秒的运行时间。由此可见,与另外三家对比,UCloud 的 AMD 云主机在 CPU 性能上最高可提升 21.6%。

2、磁盘性能

在云主机的存储性能方面,IOPS 和 IO 时延作为衡量磁盘性能的重要指标,理论上, IOPS 越大越好,时延越低越好。本次测试我们使用的 FIO 工具选择了 libaio 引擎测试,块大小配置为 4k,测试生成的文件大小为 200G。这里我们主要观察队列深度分别为 1*1 和 7*16 的情况下,磁盘每秒随机读写的操作次数以及平均时延。

由数据图表可见,在队列深度 1*1 和 7*16 时,UCloud 的 IOPS 和平均时延都具有明显优势,而其他三家相差不大。在队列深度为 1*1 时,UCloud 随机读的数量是排名第二的 AWS 的 2.5 倍,而随机写的数量更是比排名靠后的腾讯云高出 10 倍。在队列深度为 7*16 时,UCloud 随机读写能力依然表现突出,是排名第二的腾讯云的 4 倍,AWS 和 Google 云比较接近,均不太理想。

3、网络性能

云主机每秒所处理的网络包数量是内网性能的核心指标,内网环境下的网络情况直接会影响服务之间的交互。本次内网性能测试中,我们使用了 Netperf 网络性能测试工具,通过 8 台辅助机和 1 台测试机,使用 UDP 协议+小包,小包大小为 1 字节,在同等情况下,统计测试机每秒收到包的数量。下面,我们来看看这四款云主机的表现:

通常情况下,云主机每秒接受的小包数量越多,则表明内网质量越好。根据上图测试结果可以看出,UCloud 每秒接受小包数量最多,约为 378.64 万个左右,相当于腾讯云的 2.5 倍,而 Google 云、AWS 和腾讯云这三家云平台每秒接收数在 150-180 万左右,其数量差距不是很大,都有较大提升空间。

4、特定场景表现

Nginx 测试

Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,是网站门户用户的首选。Nginx 具有并发能力非常强的特点,因此对运营商主机的网络能力要求非常高。根据Nginx的每秒处理请求数,就可以看出服务器的抗压能力。

我们使用 ab 压测工具进行测试,ab 工具可以创建多个并发访问线程,模拟多个访问者同时对某一个 URL 地址进行访问,其原理类似 CC 攻击。因此,在这样高并发的测试下每秒处理请求数越大表现越好,单请求耗时与测试耗时越少则表现越好,也意味着访问请求丢失越少。

上图是我们根据 ab 压测请求数 200 万,一次并发请求数为 500 得出的平均数据,很明显可以看出 UCloud 在这次压力测试下,各项指标均表现最佳,远超出其他云平台。在每秒处理请求数上,UCloud 高出腾讯云 2 倍, Google 云、AWS、腾讯云分别位居第二、三、四位;在单请求耗时和测试耗时方面,UCloud 也仅占其他三家的 1/3 左右时长。

MySQL 测试

MySQL 数据库的性能状态通常可以反映服务器的 CPU、内存和磁盘性能,也更能体现出云主机的性能差异。我们使用 sysbench 基准测试工具对数据库中一个表存放 2000 万条数据,并同时开启 500 个线程,得出结果数据:每秒请求数 QPS 与每秒事务数 TPS 越大,则表现越好;测试耗时与平均时延越小,则表现越好。

QPS 和 TPS 作为衡量数据库性能的关键指标,也是云主机性能的直接体现。根据上图测试数据可以看出,在 MySQL 场景下,UCloud 的 QPS 和 TPS 请求数量均表现超前,腾讯云紧随其后排名第二, AWS 和 Google 云分别位列第三、第四。经计算得出,UCloud 云主机的 QPS 和TPS比其他三家均高出 38%~70% 左右的性能。