磁盘类型及性能介绍
更新时间: 2020/06/23 GMT+08:00
根据IO性能划分云硬盘的磁盘类型,可以分为普通IO、高IO、通用型SSD、超高IO,各种类型的云硬盘具体介绍如下。不同类型云硬盘的性能和价格有所不同,您可根据应用程序要求选择您所需的云硬盘。
云硬盘性能
云硬盘性能的主要指标包括:
- IOPS:云硬盘每秒进行读写的操作次数。
- 吞吐量:云硬盘每秒成功传送的数据量,即读取和写入的数据量。
- IO读写时延:云硬盘连续两次进行读写操作所需要的最小时间间隔。
参数 |
超高IO |
通用型SSD |
高IO |
普通IO(上一代产品) |
---|---|---|---|---|
云硬盘最大容量 |
|
|
|
|
描述 |
超高性能云硬盘,可用于企业关键性业务,适合高吞吐、低时延的工作负载。 |
高性价比的云硬盘,可用于高吞吐、低时延的企业办公。 |
可用于一般访问的工作负载。 |
可用于不常访问的工作负载。 |
典型应用场景 |
|
各种主流的高性能、低延迟交互应用场景。
|
一般工作负载的应用场景。
|
大容量、读写速率中等、事务性处理较少的应用场景。
|
最大IOPSa |
33000 |
20000 |
5000 |
2200 |
最大吞吐量a |
350 MB/s |
250 MB/s |
150 MB/s |
50 MB/s |
云硬盘吞吐量性能计算公式 |
吞吐量 = min (350, 120 + 0.5 × 容量) MB/s |
吞吐量 = min (250, 100 + 0.5 × 容量) MB/s |
吞吐量 = min (150, 100 + 0.15 × 容量) MB/s |
吞吐量 = min (50, 10 + 0.15 × 容量) MB/s |
IOPS突发上限a |
16000 |
5000 |
5000 |
2200 |
云硬盘IOPS性能计算公式 |
IOPS = min (33000, 1500 + 50 × 容量) |
IOPS = min (20000, 500 + 6 × 容量) |
IOPS = min (5000, 1200 + 6 × 容量) |
IOPS = min (2200, 500 + 2 × 容量) |
单队列访问时延 |
1 ms |
1 ms |
1 ms ~ 3 ms |
5 ms ~ 10 ms |
API名称b |
SSD |
GPSSD |
SAS |
SATA |
说明:
a:最大IOPS、最大吞吐量、IOPS突发上限三个参数的值均为读写总和。
b:API名称代表云硬盘API接口中“volume_type”参数的取值,不代表底层存储设备的硬件类型。
云硬盘的性能与数据块大小密切相关。根据公式推算,大容量云硬盘既可以达到最大IOPS,又可以达到最大吞吐量,在这种情况下,当最大IOPS或最大吞吐量中有一项指标达到最大值时,此时云硬盘性能达到最大,另一项指标无法再继续上升。
- 对于小数据块,例如4 KB和8 KB,性能可达到最大IOPS。
- 对于≥ 16 KB的大数据块,性能可达到最大吞吐量。
以超高IO云硬盘为例,根据公式推算,超高IO云硬盘容量≥ 630 GB时,IOPS最大可达33000,吞吐量最大可达350 MB/s。而实际情况并非如此,具体请参见表2。
数据块大小(KB) |
最大IOPS |
最大吞吐量(MB/s) |
---|---|---|
4 |
约33000 |
约130 |
8 |
约33000 |
约260 |
16 |
约22400 |
约350 |
32 |
约11200 |
约350 |
云硬盘IOPS性能计算公式举例说明
单个云硬盘IOPS性能 =“最大IOPS”与“基线IOPS + 每GB云硬盘的IOPS × 云硬盘容量”的最小值。
以超高IO云硬盘为例,单个超高IO云硬盘的最大IOPS为33000。
- 假如云硬盘容量为100 GB,则该云硬盘IOPS性能 = min (33000, 1500 + 50 × 100 ),取33000与6500中的最小值,即该云硬盘IOPS性能为6500。
- 假如云硬盘容量为1000 GB,则该云硬盘IOPS性能 = min (33000, 1500 + 50 × 1000 ),取33000与51500中的最小值,即该云硬盘IOPS性能为33000。
云硬盘突发能力及原理
突发能力是指小容量云硬盘可以在一定时间内达到IOPS突发上限,超过IOPS上限的能力。此处IOPS上限为单个云硬盘的性能。
突发能力适用于云服务器启动场景,一般系统盘容量较小,以50 GB的超高IO云硬盘为例,如果没有突发能力,云硬盘IOPS上限只能达到4000(1500 + 50 × 50),但使用突发能力后,IOPS可高达16000,从而提升云服务器的启动速度。
以超高IO云硬盘为例,单个超高IO云硬盘的IOPS突发上限为16000。
- 容量为100 GB的云硬盘,其IOPS上限为6500,IOPS突发上限为16000,因此在一定时间内该云硬盘的最大IOPS可达到16000。
- 容量为1000 GB的云硬盘,其IOPS上限为33000,但是IOPS突发上限仅为16000,云硬盘的IOPS上限已经超过了突发IOPS,因此该云硬盘无需突发能力。
以下介绍云硬盘突发IOPS的消耗原理和储蓄原理。
突发的实现基于令牌桶,令牌桶中的初始令牌数量 = 突发时间 × IOPS突发上限,此处突发时间固定为1800 s。
以100 GB的超高IO云硬盘为例,令牌桶容量为28800000个令牌(1800 s × 16000 )。
- 令牌的生成速度:该桶以6500个/s的速度生成令牌,其中6500为该云硬盘的IOPS上限。
- 令牌的消耗速度:根据实际IO使用情况而定,每个IO会消耗一个令牌,最大消耗速度为16000个/s,此处取突发IOPS上限和云硬盘IOPS上限的较大值。
消耗原理
当令牌消耗速度大于令牌的生成速度时,令牌数量会逐渐减少,最后IOPS会维持跟桶生成令牌的速度一致,即云硬盘的IOPS上限。本示例中,可以维持突发IOPS的时间为3032 s ≈ 28800000 / (16000 - 6500) 。
储蓄原理
当令牌的消耗速度小于令牌的生成速度时,桶中的令牌会逐渐增加,之后又可以拥有突发能力。本示例中,如果云硬盘暂停使用4431 s ≈ 28800000 / 6500,令牌桶就可以存满。
说明:
桶中的令牌数量只要大于零,云硬盘就具有突发能力。
本示例中令牌的消耗和储蓄原理如 图1所示。蓝色柱状表示云硬盘IOPS的使用情况,绿色虚线为IOPS上限,红色虚线为IOPS突发上限,黑色曲线表示令牌数量的变化趋势。
- 当令牌数量大于零时,IOPS可以突破6500,即具有达到IOPS突发上限16000的能力。
- 当令牌数为零时,此时不具备突发能力,IOPS最大为6500。
- 当实际IOPS小于6500时,令牌数量开始增加,可以恢复突发能力。
性能测试方法
测试云硬盘性能参数的具体测试方法请参见“怎样测试云硬盘的性能”。