双11围观云计算:I/O高低决胜算

来源:互联网 发布:数据库条件查询语句 编辑:程序博客网 时间:2024/05/22 14:42

我们习惯于在服务器上使用SSD,也先后将自己的笔记本或者台式机换成了SSD,原因很简单——机械盘的容量虽然很大,但是受制于机械结构的影响,性能确实在应用面前落后了:100MB/s上下的传输带宽、100 IOps上下的读取性能,放到任何一个需要频繁读取文件的环节中都是绝对的瓶颈。有多少人知道在公有云上的虚拟服务器里,究竟用的是什么存储介质?公有云提供的基于SSD的性能盘是否能全面提升用户虚拟服务器的使用体验?

企事录联合京东云,对京东云基础云平台的云硬盘进行了全面的分析测试,来看看京东基础云能提供什么样的存储性能?能给用户带来哪些帮助?

测试环境说明:测试基于京东云公有云北京区环境。

上一期我们简单探讨了京东云基础云的云主机的计算性能,这一期将重点转移到I/O性能上。计算性能和存储性能是云计算的任督二脉,他们性能的高低和稳定程度决定了公有云的实际表现。

京东云提供两类云硬盘:一个是围绕性能做文章的性能盘,另一个则是提供用户大容量存储空间的存储盘。简单来讲就是性能盘是基于SSD介质的,而存储盘使用的是传统HDD盘。

SDS是云计算区别于物理服务器的一个重要技术,SDS意味着将存储资源池化,可以通过不同的接口来提供给用户有关存储的一切指标——容量、性能、种类……但是SDS技术相对计算虚拟化而言,是一个具有更高技术壁垒的领域,并不是把存储资源池化就能实现用户的所有需求,肯定是要依照用户对存储资源的需求搭配出更有特色的组合。

我们都知道,目前国内的公有云服务商大多数都使用的是开源的OpenStack环境,通过Ceph来提供SDS存储解决方案——是目前业内领先和最主流的云计算解决方案。各公有云服务商拼的是二次开发和运维能力,因此要看公有云供应商的云计算环境是否得到实战的考验,这也是能快速了解公有云是否适合企业级应用的一个快捷通道。

京东是国内最早在生产环境中大规模部署OpenStack云计算环境的电商,经历过11.11和6.18的极限验证,具有稳定可靠的特点。虽然,京东云基础云是公有云的一支新军,但给用户提供的却是企业级运行环境的公有云服务。

Linux 下 20000 IOps的傲娇

先说用户关心的性能盘指标。性能盘,顾名思义是讲究性能指标的云硬盘。和性能相关的有两类——带宽和IOps,目前在公有云阵营中,性能盘几乎都基于SSD,原因很简单,传统机械盘无法提供用户高IOps性能,SATA HDD单盘只有100 IOps左右,要达到10000 IOps的存储性能需要100块硬盘堆叠,成本和可靠性都无法在公有云里实现,因此选择SSD作为性能盘介质是目前公有云的统一行动。

但是在前几年SSD单位成本还很昂贵的时候,即便提供了性能盘,往往容量也都在百GB左右,对企业用户来说要组合多个性能盘来获得较大容量的存储空间。

而京东云基础云成立于2016年初,正好赶上了SSD降价的好时光,因此在性能盘的选择上有更大的空间,目前京东云基础云的性能盘可以选择最大1TB的容量。

基础设备中选择了更多的SSD,也让京东云基础云敢于将性能盘的I/O性能设置在20000 IOps的高水准上,两倍于国内公有云普遍10000 IOps的指标。为400MB的性能盘带宽同其他公有云性能盘相同,是基于SSD的典型指标。综上所述,京东云云硬盘性能盘显然在指标上很突出。

Centos 6.5云主机I/O性能测试

首先选择了京东云CentOS 6.5云主机作为Linux环境下的I/O性能测试环境,云主机配置为8C 16GB,属于京东云基础云主机中高档配置环境,云硬盘也加载了1TB的性能盘,为系统所支持的最大容量,可以更好的看出性能盘究竟表现如何。测试工具为FIO,我们进行了512B~512K尺寸的测试,测试结果如下表所示:

注:IOps和带宽的性能对照表,表中可以看出,16K~32K是IOps性能和吞吐带宽的分水岭:在16K前,带宽不是瓶颈,因此IOps性能稳稳的处于20000 IOps,这意味着面对数据库等8K尺寸文件时,京东云性能盘具有稳定的高性能;而在测试包尺寸达到32K后,瓶颈转移到接口带宽,400MB的吞吐也是一条稳定的直线,而IOps性能则随着块的增大平稳降低。这对于互联网用户常用的MySQL数据库而言是一个有力的支撑平台,毕竟IOps指标直接关系着数据库的性能高低。

IOps和延时的对比同样是相同的对照关系,在大于32K尺寸后,IOps性能就被带宽限制了,随着文件尺寸的增加,延时也逐渐上升,基本是线性对照关系。

最常用的4K、8K性能见下图,性能曲线平稳。


Windows Server下I/O性能测试

在OpenStack云计算平台中,Linux环境和Windows Server环境对底层文件系统的调用是不同的,因此在性能上是有很大的区别。我们在京东云主机上建立了一个8C 16GB的Windows Server 2012 R2主机,挂载同一个1TB性能盘, 使用IOMeter对这个性能盘的I/O性能进行了测试,测试结果如下:


4K4队列的随机读性能在10000 IOps,曲线平稳


8K4队列下随机读性能略低,IOps性能在9000上下浮动,可用性依然较强

与京东云技术部门和业内专注Ceph公司沟通后,了解到OpenStack所采用的KVM技术和Windows在文件系统的兼容性上有一些问题,因此在Linux下性能可以达到20000 IOps,使用Windows主机时在存储性能上会有较大的性能损失。这倒是不用太担心,因为大多数常用数据库应用都在Linux下有更好的表现,而Windows下的应用更看重的是吞吐带宽,400MB的带宽对于Windows下的应用来说依然是一个不错的成绩。


对于大文件的性能来看,跑满400MB的带宽是很轻松的,只有小文件的随机读取性能低于Linux

总结:

时间对于IT产品来说是一个双刃剑,早期推出的公有云产品在占领市场上有优势,但在使用那些性能上更出色的新配件产品时受到了制约,毕竟,云计算本身就是一个重资产的产业,服务器在3~5年的生命周期里要承担重要的作用,不能轻易更换;而新的公有云列装了诸如全SSD+Xeon E5 v3/4的性能主机,自然在单位空间里提供了更强的存储和计算性能。

善于利用自己之长来打动和服务用户,将成为未来公有云差异化竞争的关键,京东云基础云就牢牢盯住了企业级用户群体,用更强的I/O性能打动你。


阅读全文
0 0