点击关注我的Telegram群组和微信公众号

MENU

AWS EC2主机SSD硬盘速度对比和性价比选择

2021 年 04 月 10 日 • 阅读: 344 • 技术,分享

前言

最近进行的一个项目中有对关系型数据库的大量读写任务,在亚马逊 AWS 上的 Lightsail 主机的 IO 性能很快成为了瓶颈并且也导致了 CPU 在一些情况下的高占用。对硬盘的选择是必须考虑的事项,因为无论是在 EC2/ Lightsail 主机上自行搭建数据库还是直接选择 AWS RDS 服务都不得不自行选择 EBS 类型,从而决定数据库的 IO 性能。因此针对 AWS 提供的几种储存方案进行了价格和性能上的对比。

注意事项

  1. 在本文中,基础价格将按照 EC2 云服务器的价格为标准
  2. 区域默认为 Asia Pacific (Tokyo)
  3. 理论值意味着加钱

EBS - 通用型 SSD gp2

价格

  • gp2 卷按照每月预置的储存空间量(GB)计费,I/O 价格已包含

    • 每 GB 每月价格为 $0.142

      • 30GB 的价格预估为 $2.4

IO 性能

  • gp2 理论最大的 IOPS 为 16000
  • gp2 理论最大硬盘吞吐量为 250 MB/s
  • gp2 的 IO 性能是 IOPS基准性能+IOPS突发性能

    • 16 KB I/O
    • gp2 基准性能为 3 倍的 gp2 卷容量,但即使是 1GB 的最小 gp2 容量也有 100 IOPS 的性能
    • 无论 gp2 卷容量大小如何,突发性能均为 3000 IOPS

      • 突发性能的总量取决于 I/O 突发性能余额,该余额在 EBS 没有 I/O 使用时自动积累
      • 如果 gp2 卷的基准性能已经大于 3000 IOPS,则不会消耗任何突发性能余额
      • 每个卷在被创建时会初始化 540 万 I/O 突发性能余额,这也是一个卷能获得最大 I/O 突发性能余额,它能维持 30 分钟的 3000 IOPS
      • IO 突发性能的 3000 IOPS 的可用时间可以用公式 (I/O 突发性能余额/ (3000 - 3 * gp2 卷容量(GB)) 来计算
      • 突发性能余额的积攒速度取决于 gp2 卷的容量大小,积攒速度等同为基准 I/O 速度
  • 基于以上信息我们可以获得这样的一张表
gp2卷大小基准IOPS3000 IOPS 爆发持续秒数填补I/O突发性能余额所需要的无I/O秒数
1 GB1001,80254,000
100 GB3002,00018,000
250 GB7502,4007,200
334 GB1,0022,7035,389
500 GB1,5003,6003,600
750 GB2,2507,2002,400
1000 GB3,00000
5334 GB16,00000
16384 GB16,000000
  • 334 GB 为可实现最大吞吐量的最小卷容量)
  • 5334 GB 位可实现理论最大I/O性能的最小卷容量
  • 16384 GB 为gp2卷可支持的最大卷大小,即16 TB
  • 当gp2卷大小超过1000 GB时,由于基准性能大于3000 IOPS,所以不消耗突发性能

吞吐量性能

  • 已知 gp2 卷的理论最大吞吐量为 250MB/s
  • 硬盘吞吐量的性能取决于 I/O 性能,具体公式为:

    • 吞吐量 T (MB/S) = 卷容量 V (GB) 每 GB IOPS 速率性能 R I/O 大小 I (KB)
    • T = VIR, V = T/IR = 250 MB/S /(256 KB * 3 IOPS/ GB) = 333.33 GB
    • 当 gp2 卷容量达到 334 GB 时即可获得最大硬盘吞吐量性能
  • 容量小于 170 GB 的 gp2 卷可以获得最大 128MB/s 的 gp2 最低吞吐量性能

EBS - 通用型 SSD gp3

EBS gp3 卷是 AWS 在 2020 年年底推出的新型,针对高性能,低储存容量需求应用程序的 EBS 卷类型。它允许用户不仅自定义储存容量还可以在低储存容量情况下加钱以获得更高的 I/O 性能硬盘吞吐量

  • 对的,就是包含关系型数据库这种应用

价格

  • 每月每 GB 储存容量价格为 $0.096

    • 包含免费的 3000 IOPS125MB/s 吞吐量
    • 30GB 的价格预估为 $2.88
  • 如果用户自定义超过 3000 IOPS 的 I/O 性能,价格为每 IOPS $ 0.006
  • 如果用户自定义超过 125MB/s 的吞吐量,价格为每 MB/s $ 0.048

    • 1 GB 储存容量配合 6000 IOPS250 MB/s 的每月价格为 $20

I/O 和硬盘吞吐量性能

  • gp2 理论最大的 IOPS 为 16000
  • gp2 理论最大硬盘吞吐量为 1000 MB/s
  • gp3 卷的 IOPS 和吞吐量性能为恒定性能,因此也不包含突发性能

    • 所以也可以持续地保持在 3000 IOPS 和 125 MB/s 的吞吐量

EBS - 预置 IOPS SSD io1/ io2

如名字一样,io1 型卷是预配置 I/O 性能的 EBS 卷类型,适用于 I/O 密集型数据库和持续高 IOPS 应用

io1 价格

  • 每月每 GB 的预置储存容量价格为 $ 0.142

    • io1 支持的卷容量大小区间为 4 GB ~ 16 TB
  • 每月每 IOPS 的预置性能价格为 $ 0.074

    • 30GB 储存容量配合 3000 IOPS 的价格为每月 $ 196.25

io2 价格

  • 每月每 GB 的预置储存容量价格为 $ 0.142

    • io1 支持的卷容量大小区间为 4 GB ~ 16 TB
  • 每月每 IOPS 的预置性能价格阶梯化

    • 32000 IOPS 内,每月每预置 IOPS 价格为 $ 0.074
    • 32001 <= IOPS <= 64000, 每月每预置 IOPS 价格为 $ 0.052
    • IOPS > 64000,每月每预置 IOPS 价格为 $ 0.036

I/O 和吞吐量性能

  • io1 和 io2 卷理论最大支持的 IOPS 为 64000

    • 64000 IOPS 的 EBS 需要对应机器服务支持 AWS Nitro System
  • io1 和 io2 卷理论最大支持的吞吐量为 1000 MB/s

io1 卷和 io2 卷的区别

  • io1 卷和 io2 卷的目标市场和预期用途是类似的
  • io2 的预置 IOPS 价格阶梯化可以在极高 IOPS 需求下降低成本
  • io2 有明显更低的 AFR
  • io1 的预置 IOPS 性能和卷容量大小(GB)的最大比例为 50:1

    • 而 io2 的这一比例为 500:1
    • 因此,当假设用户需要 64000 IOPS 时,io1 的最低容量大小必须为 1280 GB,而 io2 的最低容量大小为 128 GB

io2 高速卷

  • 天价,不谈

Lightsail SSD

  • Lightsail 主机中用的 SSD 大致和 gp3 卷类似,性能可见下方跑分对比

EC2 NVMe SSD 实例

i3 系列 EC2 主机是我特别选出来的,也是我目前正在使用的方案。在 AWS EC2 市场中,i3 系列属于储存优化型实例。相比使用常见的通用型 EC2 主机,比如 T2/ T3,加上较高性能的 gp2/gp3/io1 EBS 卷,I3 系列主机不仅直接提供了很大容量的高性能 NVMe SSD,还拥有更强的 CPU 性能和网络性能。

此处以最低配置的 I3-large 主机为例:

其包含 2 vCPU15.25 GB 内存,475 GB NVMe SSD 和最高 10 Gbps 的网络性能,在配合 30G gp2 硬盘下,东京区一个月的为 $ 94.12。这相比使用相同容量或相同性能的 EBS 卷要便宜太多了。

I/O 性能

  • AWS 官方在文档中给出了以下数据
实例大小100%随机读取 IOPS写入 IOPS
i3.large10012535000
i3.xlarge20625070000
i3.2xlarge412500180000
i3.4xlarge825000360000
i3.8xlarge165 万720000
i3.16xlarge330 万140 万
i3.metal330 万140 万
i3en.large4250032500
i3en.xlarge8500065000
i3en.2xlarge17 万130000
i3en.3xlarge25 万200000
i3en.6xlarge50 万400000
i3en.12xlarge100 万80 万
i3en.24xlarge200 万160 万
i3en.metal200 万160 万
  • 但需要注意的是,一些系统不支持 NVMe SSD,且实例需要 4K 对齐才能充分发挥性能

脚本跑分

gp2 30GB

gp2

gp2-1

gp3 30GB 免费额度

gp3

Lightsail

  • 太慢了,等不及跑完了

lightsail

EC2 NVMe SSD I3-large

nvme

nvme-1

总结

AWS 一直以来就是一个适合给企业用户或者预算充足的专业客户使用的产品,加钱不仅可以获得最先进的技术,还有优质的客户服务。对于一般个人用户而言,AWS 就显得太贵且太专业了。完整的云架构是 AWS 的优势之一,如果在主机方面的预算在每月 100 刀左右,I3 型 NVMe SSD 主机算是对团队/小型企业非常友好的一个选择了。如果一定要在 EBS 上进行专门的配置,需要对应用所需的硬盘性能条件进行调研并选择合适的 EBS 配置,否则不仅有可能无法获得需要的硬盘性能也会产生不必要的开支。

返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码