磁盘类型及性能介绍
根据IO性能划分云硬盘的磁盘类型,各种类型的云硬盘具体介绍如下。不同类型云硬盘的性能和价格有所不同,您可根据应用程序要求选择您所需的云硬盘。
云硬盘性能
- IOPS:云硬盘每秒进行读写的操作次数。
- 吞吐量:云硬盘每秒成功传送的数据量,即读取和写入的数据量。
- IO读写时延:云硬盘连续两次进行读写操作所需要的最小时间间隔。
参数 |
高IO |
超高IO |
---|---|---|
每GiB云硬盘的IOPS |
6 |
50 |
单个云硬盘的最大IOPS |
5000 |
33000 |
单个云硬盘的基线IOPS |
1200 |
1500 |
单个云硬盘IOPS上限 |
min (5000, 1200 + 6 × 容量) |
min (33000, 1500 + 50 × 容量) |
单个云硬盘的IOPS突发上限 |
5000 |
16000 |
最大吞吐量 |
150 MiB/s |
350 MiB/s |
API名称
说明:
此处API名称为云硬盘API接口中“volume_type”参数的取值,不代表底层存储设备的硬件类型。 |
SAS |
SSD |
典型应用场景 |
适用于主流的高性能、高可靠应用场景,例如大型开发测试、Web服务器日志以及企业应用。典型的企业应用有SAP、Microsoft Exchange 和 Microsoft SharePoint等。 |
适用于超高IO,超大带宽的读写密集型应用场景,例如高性能计算应用场景,用来部署分布式文件系统,或者I/O密集型应用场景,用来部署各类NoSQL/关系型数据库。典型的数据库有MongoDB、Oracle、SQL Server、MySQL 和PostgreSQL等。 |
云硬盘IOPS上限计算方法
云硬盘IOPS上限计算方法为:取“单个云硬盘的最大IOPS”与“单个云硬盘的基线IOPS + 每GiB云硬盘的IOPS × 云硬盘容量”的最小值。
- 假如云硬盘容量为100 GiB,则该云硬盘IOPS上限 = min (33000, 1500 + 50 × 100 ),取33000与6500中的最小值,即该云硬盘IOPS上限为6500。
- 假如云硬盘容量为1000 GiB,则该云硬盘IOPS上限 = min (33000, 1500 + 50 × 1000 ),取33000与51500中的最小值,即该云硬盘IOPS上限为33000。
云硬盘突发能力及原理
突发能力是指小容量云硬盘可以在一定时间内达到IOPS突发上限,超过IOPS上限的能力。此处IOPS上限为单个云硬盘的性能。
突发能力适用于云服务器启动场景,一般系统盘容量较小,以50 GiB的超高IO云硬盘为例,如果没有突发能力,云硬盘IOPS上限只能达到4000(1500 + 50 × 50),但使用突发能力后,IOPS可高达16000,从而提升云服务器的启动速度。
- 容量为100 GiB的云硬盘,其IOPS上限为6500,IOPS突发上限为16000,因此在一定时间内该云硬盘的最大IOPS可达到16000。
- 容量为1000 GiB的云硬盘,其IOPS上限为33000,但是IOPS突发上限仅为16000,云硬盘的IOPS上限已经超过了突发IOPS,因此该云硬盘无需突发能力。
以下介绍云硬盘突发IOPS的消耗原理和储蓄原理。
突发的实现基于令牌桶,令牌桶中的初始令牌数量 = 突发时间 × IOPS突发上限,此处突发时间固定为1800 s。
- 令牌的生成速度:该桶以6500个/s的速度生成令牌,其中6500为该云硬盘的IOPS上限。
- 令牌的消耗速度:根据实际IO使用情况而定,每个IO会消耗一个令牌,最大消耗速度为16000个/s,此处取突发IOPS上限和云硬盘IOPS上限的较大值。
消耗原理
当令牌消耗速度大于令牌的生成速度时,令牌数量会逐渐减少,最后IOPS会维持跟桶生成令牌的速度一致,即云硬盘的IOPS上限。本示例中,可以维持突发IOPS的时间为3032 s ≈ 28800000 / (16000 - 6500) 。
储蓄原理
当令牌的消耗速度小于令牌的生成速度时,桶中的令牌会逐渐增加,之后又可以拥有突发能力。本示例中,如果云硬盘暂停使用4431 s ≈ 28800000 / 6500,令牌桶就可以存满。
桶中的令牌数量只要大于零,云硬盘就具有突发能力。
- 当令牌数量大于零时,IOPS可以突破6500,即具有达到IOPS突发上限16000的能力。
- 当令牌数为零时,此时不具备突发能力,IOPS最大为6500。
- 当实际IOPS小于6500时,令牌数量开始增加,可以恢复突发能力。