想要用好却并不容易的系统盘
在2019年至顶网进行的公有云主机评测中,至顶网云能力评估小组盯上了云主机的系统盘这块存储空间。然而看到很多公有云表现出的读、写极其不成比例的IOPS性能和高低不一的读写带宽时,却又只能往而兴叹,无从知晓这些高低不一的系统盘性能,可以适用于哪些公有云应用。
同时在2019年的公有云主机评测中,我们发现,阿里云为公有云主机提供了高效云盘、SSD云盘、ESSD云盘三种不同类型的系统盘,而且随着系统盘容量大小的改变,其标注的IOPS性能也会发生相应改变。 这种情况引起了我们的关注:不同类型、不同容量的云盘,在公有云中分别有什么样的功用?又需要有什么样的性能来进行配合?因此,至顶网又对阿里云公有云主机的云盘进行了更深入的评测。
用细粒度规划将存储性能发挥到极致
达到存储设备的性能极限,这个目标并不难实现。放开所有约束,让产品性能得到最大的发挥就可以了。但是公有云上并不是资源独享,一部分用户将应用性能占用到了极限,就意味着另一部分用户的应用性能被抢占。因此,在公有云上,更需要精打细算着,将性能发挥到“极致”。而将存储性能发挥到极致,就意味着需要付出更多辛劳,对存储进行更加的细粒度规划,才能让每位公有云用户,都可以在规划的资源范围内,获取到最大的应用处理能力。下面我们就通过实际的存储性能测试,来查看一下阿里云是如何将存储性能发挥到极致的。
在本次测试中,我们除了继续沿用19年公有云测试时采用的实例规格为ecs.g6.large的2C4GB计算型云主机外,还选用了实例规格为ecs.g6.3xlarge的12C24GB计算型云主机,采用Linux下的Fio测试工具分别对阿里云高效云盘、SSD云盘、ESSD云盘这三种不同类别的云盘做为系统盘,按照默认存储容量(40GB)、最小容量(20GB)、指定容量(100GB)这三种不同大小容量,对系统盘读、写和时延性能进行测试。
之所以会选用ecs.g6.3xlarge的12U24G计算型云主机进行测试,是因为2C4GB云主机的最大存储带宽被限定在1.0Gbps,难以满足阿里云SSD以上规格的云盘带宽传输需求。在后面我们将会对这些性能规划进行更深入的分析。下面我们先来实地测试一下,阿里云云盘的存储性能是否与标称结果相符。
阿里云云盘存储性能测试结果如下:
高效云盘、SSD云盘、ESSD云盘20、40、100G IOPS测试结果图表
高效云盘、SSD云盘、ESSD云盘20、40、100G 带宽测试结果图表
为了方便对数据进行对比,我们将高效云盘、SSD云盘、ESSD云盘20、40、100G IOPS和带宽测试结果制成图表,其中红色代表测试中写的性能、黄色代表测试中读的性能,蓝色代表阿里云给出的存储性能标称数值。标称数值可在建立云主机,选择云盘参数时,通过“查看云盘性能指标”链接进行查看。在本次测试中,也将部分云盘性能指标截图,以方便读者进行查看。
云盘性能指标截图
通过红、黄、蓝三个颜色数据的对比我们可以看出,无论是在IOPS性能还是在存储带宽性能测试中,随着云盘容量与类型的变化,IOPS和存储带宽性能也呈现出阶梯状的增长。并且测试结果数据始终与阿里提供的标称数据略高或者持平。
在对阿里云2C4GB内存的ecs.g6.3large云主机进行读、写带宽测试同时,我们也验证了,阿里云在企业级定位的实例规格族上对存储性能建立了实例维度的隔离性,根据实例规格的不同,分配的可处理IOPS与存储带宽也各不相同。这样的设计,可以保证在多个虚拟机部署在同一台物理机上时,之间的存储IO性能不会相互影响,保障多租户模式下,各自都能获得稳定一致、可预期的性能。这一点,目前在国内厂商中,阿里云也是唯一一家如此设计的厂商,国外厂商中,AWS、Azure、GCP等都采用了类似的产品设计。这种设计,对企业级客户核心系统上云是非常友好的,充分避免了云计算性能领域常被人诟病的noisy neighbor现象。
从测试云主机进行顺序读、写的带宽测试中也可以证实。当采用实例规格为ecs.g6.large的2C4GB计算型云主机,对20G容量SSD云盘进行测试时,存储带宽成绩只能达到ecs.g6.large标称的最大存储带宽125MiB/s(1.0Gbps)。而采用12C24GB内存的ecs.g6.3large云主机进行测试时,就可以达到阿里云SSD云存储所标称的130MiB/s。
2C4GB云主机20G容量SSD存储带宽测试结果截图
最后,我们还对阿里云高效云盘、SSD云盘、ESSD云盘这三种不同类别云盘的时延性能进行了测试。测试结果表明,由于阿里云云盘具备很好的IOPS处理性能,即便是IOPS性能较低的高效云盘,在最小20G容量时的平均时延最高结果也仅为505.96微秒,100G ESSD云盘的随机写时延性能更可以达到150微秒以下。完全可以满足一些对高时延比较敏感的数据库应用需求。
极致是为了更好的应用体验
通过上述阿里云存储测试成绩验证可以了解,阿里云存储确实可以通过不同类别、不同容量的云盘和不同vCPU数量的云主机这三方面对云存储性能进行细粒度的管理控制。
因此,当用户在处理一些对计算需求较少的静态Web应用时,可以选择规格较低,vCPU数量较少的公有云主机,配合高效云盘或SSD云盘进行应用部署。
当用户需要处理一些音、视频类对带宽要求比较高的应用时,就可以选择更高规格的云主机,配合SSD云盘或性能更好的ESSD云盘进行应用处理。
由于大容量ESSD云盘可以提供很高的IOPS性能和很低的时延,因此在对时延敏感的业务场景,如OLTP业务、核心数据库、大型企业级应用等场景中,可以采用高规格阿里云主机,配合大容量ESSD云盘对这些业务进行顺畅的处理。
同时考虑到,在阿里云大陆地域,ESSD云盘的预付费价格与SSD云盘是一样的,这样更凸显了ESSD云盘的高性价比设计,建议客户优先选择ESSD云盘来承载对性能有要求的业务。
由此可知,阿里云存储通过不同类别云盘、在不同容量时的IOPS与带宽控制,配合不同计算能力云主机上存储性能的不同规划,有效的对公有云存储资源进行了统筹管理,合理分配。可以有效满足不同规模、不同业务用户,对存储的不同应用需求。切实达到了将存储应用发挥到极致的目标,可以为用户提供出更好的存储应用体验。特别是在企业级客户核心系统上云的业务场景下,阿里云通过实例级别的存储IO隔离能力,充分保障了每台虚拟机即使在业务高峰期,也能达到稳定一致的存储读写能力,无论是上云前的测试环节,还是上云后的实际生产环境,都能获得可预期的存储性能,便于客户做好性能容量规划,打造如丝般顺滑的上云体验。