ARM64 系列芯片的 Geekbench 测试以及 WebP Encode 速度对比
This article is also available in English, at Geekbench Testing and WebP Encode Speed Comparison of ARM64 Series Chips.
在之前的文章「Hetzner CAX 系列 ARM64 服务器性能简评以及 WebP Cloud Services 在其上的实践」中,我们对比了 Hetzner,Oracle 两家的 ARM64 服务器性能,相关的文章甚至还冲上了 Hacker News 的首页顶部。
本文我们决定对比更多的 ARM64 处理的机器的性能,看看各家 ARM64 机器分别是什么水平。
这一次我们带来了更多的 ARM64 的机器作为对比,他们分别是:
- MacBook Pro (M1),Tuki Deng 的电脑
- MacBook Pro (M1 Pro),Benny Think 的电脑
- MacBook Pro (M1 Max),Benny Think 的电脑
- Raspberry Pi 4B,Nova Kwok 家里的树莓派
- Hetzner CAX11,CPU 为虚拟化的 ARM64 处理器,2 核心,4G 内存,折算每月价格 4.91USD,以下简称 CAX11
- Hetzner CAX21,CPU 为虚拟化的 ARM64 处理器,4 核心,8G 内存,折算每月价格 8.40USD,以下简称 CAX21
- Hetzner CAX31,CPU 为虚拟化的 ARM64 处理器,8 核心,16G 内存,折算每月价格 16.55USD,以下简称 CAX31
- Hetzner CAX41,CPU 为虚拟化的 ARM64 处理器,16 核心,32G 内存,折算每月价格 32.44USD,以下简称 CAX41
- Oracle Cloud,CPU 为虚拟化的 ARM64 处理器,4 核心,32G 内存,由于是 Free Tier ,每个月价格是 0 ,以下简称 Oracle Cloud
- Aliyun ecs.g8y.xlarge (阿里云自研倚天 710 ARM 架构 CPU,依托第四代神龙架构),CPU 为虚拟化的 ARM64 处理器,4 核心,16G 内存,折算每月价格 60USD(如果买 5 年的话折合每个月 19USD),不过由于只在国内区域有,Geekbench 失败了,所以没有对应成绩
- Aliyun ecs.g6r.xlarge (Ampere® Altra®),CPU 为虚拟化的 ARM64 处理器,4 核心,16G 内存,折算每月价格 100USD(如果买 5 年的话折合每个月 21 USD)
此外我们还带来仨 AMD64 的机器作为对比,分别是:
- Hetzner CPX21 ,CPU 为虚拟化的 AMD EPYC 2.4GHz,3 核心,4G 内存,折算每月价格 9.76USD,以下简称 CPX21
- ThinkPad T14 AMD Gen2 (Ryzen 7 PRO 5850U),Nova Kwok 自己的笔记本电脑
- SteamDeck (AMD Custom APU 0405),Benny Think 的游戏机
Geekbench
我们从 Geekbench 的成绩开始,测试工具是 Geekbench 6,成绩如下:
Device | Arch | Single Core | Multi Core |
---|---|---|---|
MacBook Pro (M1) | ARM64 | 2327 | 8217 |
MacBook Pro (M1 Pro) | ARM64 | 2359 | 10282 |
MacBook Pro (M1 Max) | ARM64 | 2372 | 12121 |
Raspberry Pi 4B | ARM64 | 247 | 387 |
Hetzner CAX11 | ARM64 | 1072 | 1921 |
Hetzner CAX21 | ARM64 | 1068 | 3444 |
Hetzner CAX31 | ARM64 | 1072 | 5773 |
Hetzner CAX41 | ARM64 | 1093 | 8443 |
Oracle Cloud | ARM64 | 1066 | 2666 |
Hetzner CPX21 | AMD64 | 1222 | 3107 |
ThinkPad T14 AMD Gen2 (Ryzen 7 PRO 5850U) | AMD64 | 1900 | 7182 |
Aliyun ecs.g6r.xlarge (Ampere® Altra®) | ARM64 | 1103 | 3071 |
SteamDeck (AMD Custom APU 0405) | AMD64 | 1296 | 4598 |
- 分数越高表示性能越好
从上面的图来看,Hetzner CAX 系列 ARM64 的机器单核心成绩非常稳定,但是从 CAX31 开始,随着价格逐渐变高,多核打分并没有线性增加,例如 CAX41 的价格,核心数和内存数量几乎是 CAX31 的两倍,但是多核性能只是 CAX31 的 1.46 倍。
我们单独将 Hetzner 的成绩拿出来对比,如图:
这样看来似乎如果要扩展负载的话,两台 CAX31 的机器整体性能会比一台 CAX41 的机器要好不少。
WebP Encode
目前 WebP Cloud Services 有两个服务:
- Public Service
- 提供 Gravatar 和 GitHub Avatar 的反向代理,解决了两个问题:
- 中国大陆用户没法直接访问 Gravatar 的头像地址
- 输出这些图片时提供了 WebP 转换,可以在几乎不改变画质的情况下大幅缩小图片体积,加快整体站点加载速度
- 这个是公共服务,完全免费,目前有大量用户在使用,包括但不限于 CNX Software,Indienova 等
- 提供 Gravatar 和 GitHub Avatar 的反向代理,解决了两个问题:
- WebP Cloud
- 这个是我们的新服务,其主要功能是:
- 在不需要用户自己托管我们的开源组件 WebP Server Go 的情况下(尤其适合静态博客例如 Hugo, Hexo 等)
- 通过在 WebP Cloud 上注册一个帐号并填入自己网站地址,WebP Cloud 会给出一个新的域名,当用户使用新的域名和自己网站的图片地址(URI)访问图片时,WebP Cloud 会将图片转化成 WebP 格式并输出,在几乎不改变画质的情况下大幅缩小图片体积,加快整体站点加载速度
- 例如你的网站原始图片地址是
https://yyets.dmesg.app/api/user/avatar/BennyThink
,WebP Cloud 会给出一个https://vz4w427.webp.ee
的地址,此时只要访问https://vz4w427.webp.ee/api/user/avatar/BennyThink
即可看到被压缩处理后的图片 - 所有输出的图片会默认缓存在 WebP Cloud 中,这意味着第一次访问之后的所有访问都会直接从 WebP Cloud 输出,不会再次回源,源站不会有流量和带宽的压力
- 免费用户每天可以获得 2000 张图片的免费额度,这个额度已经可以支持一些访问量不是很大的网站/博客使用,此外可以以较低的价格购买付费额度
- 而且我们支持 Custom Domain,意味着你可以使用自己的域名来输出图片,比如我们的两个用户(Keshane’s Simple Blog 和 STRRL’s backyard 就分别在使用自己的域名 https://webp.keshane.moe 和 https://webp.strrl.dev 来接入 WebP Cloud
- 这个是我们的新服务,其主要功能是:
上面介绍的两个服务中,最重要也是负载最大的部分就是 WebP 转换(Encode)过程,我们作为服务商肯定希望在转换速度上不慢,且拥有最高的性价比,通过 WebP Server Go 的 Prefetch 功能可以很方便地测试在不同的机器上的转换速度,同时来反推机器性能,测试用的图片总共有 2.4G,80% 为我自己用 Sony A7 拍摄的照片,这些照片一般在 15MiB 附近,剩余 20% 则为一些小图片,体积在 1MiB~5MiB 之间不等。
测试用的实际指令为:
./webp-server-go -prefetch
Device | Arch | Encode Time(seconds) |
---|---|---|
MacBook Pro (M1) | ARM64 | 26.81 |
MacBook Pro (M1 Pro) | ARM64 | 21.21 |
MacBook Pro (M1 Max) | ARM64 | 18.63 |
Raspberry Pi 4B | ARM64 | 448 |
Hetzner CAX11 | ARM64 | 145.13 |
Hetzner CAX21 | ARM64 | 75.08 |
Hetzner CAX31 | ARM64 | 38.28 |
Hetzner CAX41 | ARM64 | 29.99 |
Oracle Cloud | ARM64 | 84.93 |
Hetzner CPX21 | AMD64 | 69.87 |
ThinkPad T14 AMD Gen2 (Ryzen 7 PRO 5850U) | AMD64 | 29.45 |
Aliyun ecs.g8y.xlarge (阿里云自研倚天 710 ARM 架构 CPU,依托第四代神龙架构) | ARM64 | 57.78 |
Aliyun ecs.g6r.xlarge (Ampere® Altra®) | ARM64 | 71.58 |
SteamDeck (AMD Custom APU 0405) | AMD64 | 35.90 |
- 用时越短表示性能越好
在上文 Geekbench 中我们看到从 CAX31 开始,随着价格逐渐变高,多核打分并没有线性增加,从 WebP Encode 的速度来看也有类似的表现,CAX41 的 Encode 速度并没有达到 CAX31 的两倍,只是提升了约 1.27 倍。
我们单独将 Hetzner 的成绩拿出来对比,如图:
这样看来如果负载比较大需要水平扩容的话,两台 CAX31 的机器整体性能会比一台 CAX41 的机器要好不少,且价格是差不多的,而且两台机器还提供了额外的可用性,鉴于此,我们 WebP Cloud 全部采用了 CAX31 机器来运行我们的所有服务。
如果你看完本文后对 Hetzner 的 ARM64 机器感兴趣,可以尝试使用我们的链接来注册 Hetzner 体验: https://hetzner.cloud/?ref=6moYBzkpMb9s (通过我们的链接注册的话你可以在注册成功后直接获得 20EUR 的可用额度,我们也可以获得 10EUR 的奖励,这样也可以支持我们的产品发展。)
不过要注意 Hetzner 的风控非常严格,注册的时候使用 VPN 或者故意乱填地址等非常容易导致自己账户被禁,这是缺点也是优点,缺点是注册门槛相对较高,优点则是 Hetzner 的客户相对比较“干净”,不会像主流给大额 Credit 的服务商(比如 DO,Vultr )一样上面充满月抛机和吵闹的邻居。而且从我们的观测来看,帐号注册成功后只要有了几笔成功的付费订单后就基本不会有账户被 Close 的问题了。
WebP Cloud Services 团队是一个来自上海和赫尔辛堡的三人小团队,由于我们不融资,且没有盈利压力 ,所以我们会坚持做我们认为正确的事情,力求在我们的资源和能力允许范围内尽量把事情做到最好, 同时也会在不影响对外提供的服务的情况下整更多的活,并在我们产品上实践各种新奇的东西。
如果你觉得我们的这个服务有意思或者对我们服务感兴趣,欢迎登录 WebP Cloud Dashboard 来体验,如果你好奇它还有哪些神奇的功能,可以来看看我们的文档 WebP Cloud Services Docs,希望大家玩的开心~
Discuss on Hacker News