体验阿里云SSD云盘+ECS(I/O优化)的性能

阿里云推出SSD云盘+I/O优化的ECS已有一段时间,这个功能优化能够为ECS服务器与SSD云盘提供更好的网络能力。据阿里云官网介绍,SSD云盘最高提供20000次随机读写IOPS、256MB/S吞吐量的存储性能。这里须要解释一下若是想要达到20000次IOPS,须要SSD云盘容量达到667GB以上。下面的文章中会对这个作进一步解释。近期拿到了这款产品的公测机会,下面就让咱们一块儿开启一段体验之旅吧。html

首先在订购页面中选择本身所需的配置,因为我是测试体验就先按照最低配置来进行购买(CPU:2核,内存:4GB,SSD云盘:20GB),以下图。服务器

aliyunorder

建立成功以后就可使用ECS了,经过Google了解到AnvilPro是用来测试SSD硬盘经常使用的软件,那我就用这款工具来对阿里云的SSD云盘进行测试。目前对于SSD硬盘测试最主要的测试指标就是——IOPS,这个有表明什么意思呢? IOPS的全称是Input/Output Per Second,即每秒的输入输出量(或读写次数),指单位时间内系统能处理的I/O请求数量,通常以每秒处理的I/O请求数量为单位,I/O请求一般为读或写数据操做请求。网络

wmarow-iops-calc

既然有了测试依据,那么我就在服务器上打开AnvilPro软件,分别以C盘1G、E盘4G、E盘16G为测试,获得以下图的测试数据。并发

301345321181322

301345095099994

301345206815815

这款软件读取部分以Seq 4MB(连续读取)、4K(随意读取,并发1个队列)、4K QD4(随意读取,并发4个队列)、4K QD16(随意读取,并发16个队列)、32K、128K划分;写入部分为Seq 4MB、4K、4K QD4(随意读取,并发4个队列)、4K QD16(随意读取,并发16个队列)。从图中能够看出IOPS与MB/S能够直接进行换算,好比以C盘1G的测试标本,4K读取是1201.75,即每秒能够读取1201个4K文件,即1201*4K/1024 = 4.69MB/S。dom

经过这几天的学习以及阿里云童鞋的指导,得知目前SSD云盘的性能是跟存储容量有关系,按照官方介绍的计算标准,SSD云盘每1GB空间提供30个IOPS,30GB空间提供900个IOPS,以此类推100GB空间提供3000个IOPS,若是想要达到20000个IOPS,须要667GB。那么根据这个计算标准,我以前购买的配置是按照SSD云盘最小标准——20GB,根据上图所测试出来的IOPS,阿里云的SSD云盘在20GB下的性能已经很不错啦。可是我又真的想体验一下20000个IOPS是什么水准?那么就继续下单购买,分别购买了Windows Server 2012 配置以下:CPU:2核,内存:4GB(I/O优化),数据盘:700G,带宽:1M(峰值)。同时我也购买了相同配置的Ubuntu服务器,测试一下SSD云盘在Linux下的性能。高并发

此次在Windows Server下测试我依旧选择了以上次测试一样的软件——AnvilPro,而没有使用朋友推荐的HD Tune,主要是为了与上次的测试条件达到统一。只不过此次我根据本身的选择进行测试,好比我选择了以Block Size:4K、32K、64K,Queue Depth=16为标准,进行了三组测试,以下图:工具

Red Hat VirtIO SCSI Disk Device_751GB_TH-R-IO_20150707-2101

Red Hat VirtIO SCSI Disk Device_751GB_TH-R-IO_20150707-2102

Red Hat VirtIO SCSI Disk Device_751GB_TH-R-IO_20150707-2103

而后又测试了随机写入数据的,此次以Block Size:32K、64K,Queue Depth=16为标准进行测试性能

Red Hat VirtIO SCSI Disk Device_751GB_TH-W-IO_20150707-2103

Red Hat VirtIO SCSI Disk Device_751GB_TH-W-IO_20150707-2104

经过上面的Random Read和Rand Write 结果得出,SSD云盘的性能确实是跟容量大小有关系,我上周作的以最小容量为基准的测试虽然也能反应出SSD云盘的性能,可是要想获取最大性能的SSD云盘仍是建议在有条件的状况下购买大容量的SSD云盘。下面看一下在Ubuntu服务器下面的测试结果,在Linux环境下会使用FIO进行测试,只须要经过命令行输入:学习

fio -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=16k -size=10G -numjobs=1 -runtime=1000 -group_reporting -name=/data/testfile

FIO_RandomWrite

这段测试的含义是测试随机写,每次写入大小16K,文件大小为10G,ioengine=libaio,运行1000秒(runtime),跳过buffer 下面的测试结束,每秒写速bw=235413KB/s,IOPS=14713。测试

经过上面的性能测试获得的数据,SSD云盘能够解决随机读取IOPS性能的问题,就如产品介绍那样1GB提供30个IOPS,100GB提供300个IOPS。那么问题来了,如何来选择ECS的配置?下面了解一下目前按量付费的计算公式(以1000元为准)。4核16G的配置可使用13天,16核16G的配置可使用9天。剩下的就按照本身的需求来订购配置了。

目前这款产品是适合对数据可靠性要求高的I/O密集型等核心业务系统或者中大型开发测试环境。若是你的业务发展碰到用户访问量大、高并发等问题,那么仍是经过这种硬件上的投入来解决问题。由于当你的业务发展遇到这样的状况,说明你的网站或是App等产品是有用户群体和知名度的,因此对于基础设施产品的投入会随着愈来愈多的增加用户摊薄投入成本。

总之如今的互联网行业,用户体验是每一个开发人员和运营者所追求的目标,能为本身的用户带来更好的使用体验是一件幸福的事情。其实这也是云计算厂商所追求的目标,经过为网站开发者提供有针对性、适合各类业务场景的产品来解决咱们的问题,让咱们开发者聚焦在本身熟悉的领域,关注本身的产品开发,提高产品竞争力,这才是一个有序的发展生态。

相关文章
相关标签/搜索