我是靠谱客的博主 飞快丝袜,最近开发中收集的这篇文章主要介绍云存储之对象存储性价比小谈,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相信大家对云存储的优点都已经有所了解,例如云存储支持按需使用,按需付费,不必承担多余的开销,也无需增加额外的硬件设施或配备专人负责维护。正因为有如此多的优点,市场上云存储公司也如雨后春笋越来越多,但选择太多有时候也意味着无从选择。本文正是通过客观的性能评测告诉大家该如何选择。

一般云存储会分几种类型:对象存储(冷、热数据存储)、块存储、表格存储等,今天主要是评测的是对象存储中的热存储,小编带着大家一起通过性价比的对比方式来给各个云厂商排出名次。

本次入选的云厂商有:AWS,Azure,七牛云,华为云,阿里云等5个厂商,使用同样的评测方法和工具,选取离存储最近的同一供应商的虚拟机,测试环境同样也选用离云存储最近的区域,测试机带宽1000Mbps,为了保证测试公平性不把测试机打爆,测试机的CPU利用率<50%,带宽使用率在<70%,磁盘IO的读写吞吐<80MB/s,尽量让测试机是在舒服的情况下工作。

测试工具和方法

本次性能测试使用开源软件:apache-jmeter-2.13,测试方法是通过调用各个云厂商对外发布的最新版本的SDK(java)来进行上传下载操作,操作的对象大小分别是1KB、10KB、100KB、1MB、10MB、1GB,各个厂商的SDK详细版本见列表,如下图示是一个简单流程图。

2

3

A、测试性能指标:

1、Response Time(RT):响应时间,本次比较中RT第50百分位的响应时间。

2、Transactions Per Second(TPS):平均每秒处理的事务数。

B、选取的请求:Get(下载),Put(上传)来测试其性能。

C、价格数据:官网价格(截止到2015年11月)。

性能数据结果

为了模拟真实的用户场景,我们预先在各个云厂商存储中分别压入了接近3000万个对象,涵盖了6个不同尺寸大小的对象,分别是1KB、10KB、100KB、1MB、10MB、1GB,在做下载请求的时候,为了防止有读缓存会影响性能,使用随机获取对象Key值,同时为了不让测试机器成为瓶颈,仅使用3线程操作(1GB文件是1个线程),在每个线程中加入Thinking Time来保证测试机网络带宽不是瓶颈,测试机都选用离云存储相同的区域,例如华为对象存储是华北区,在华为云上购买的弹性云(测试机)也是华北区,阿里云的云存储是北京区的,测试机(ECS)也选用北京区的,小编在测试AWS的时候,AWS的华北区仅仅是预览版,所以选择了AWS的俄勒冈,同样测试机(EC2)选用俄勒冈区,以此类推,这样的做法,是保证测试结果是准确和公正的。

下载(GET)文件性能结果:

结论:如果云服商能够在上下行链路中做更多的优化(如减少数据在各节点间的转发次数,尽量让数据一次性的从存储节点到达最前端的节点),那么大小文件的下载的响应速度就会表现更好。综合从测试结果看来,下载1K,10K的小文件,AWS, Azure相对弱势,而下载1M,10M的大文件,七牛云,阿里云表现更好。

响应时间(RT):

4

TPS:

5

上传(Put)文件性能结果:

云服务厂商要在上传方面达到好的效果,通常要做几方面:1. 尽量减少数据的中转环节;2. 数据写入多个节点时,传统做法是从写入节点同时发到多个节点,但是如果从写入节点先发给节点a,再从a发送给节点b,这样就可以避免发送节点带宽的限制。此外,本测试结果只针对服务端上传到云存储,更全面的独立测试还可以围绕客户端进行(比如有些云服务厂商在客户端上传sdk中加入断点续上传功能以便让用户体验更好。)

综合从测试结果看来,写1K,10K小文件响应时间中阿里云与七牛云有突出的表现,写1M,10M,1G的大文件中,AWS性能表现也不错。大文件中,Azure排名垫底。此外,Azure直接上传1G的文件全部都超时失败了,只能通过分片的方式上传,由于测试工具的原因,这组数据仅限参考并不计入性价比。

响应时间(RT):

6

TPS:

7

价格数据

现在小编要模拟一个客户真实的场景,来计算一下实际的发生费用,假定一个中小型客户:客户每月的存储空间10T,每天下载流量100G/天,上传和下载的请求次数50万次/天,其中AWS和阿里云的存储分为热存储和冷存储,微软的Azure的存储计费方式有本地冗余和跨区域冗余和只读跨地域冗余。为了统一跟其他厂商一致都选用热存储本地冗余的价格,小编从各个厂商的官网公布价格计算得到下面总价格,详见下表,从总价格列表能看出:最贵的是Azure,最便宜的是七牛,Azure几乎是七牛的2.5倍价格。到这里几乎大部分的客户都有第一个反应,七牛确实便宜,但是还是要从性能性价比的角度来真正评定。

8

(注:由于各厂商价格经常有浮动,以上价格选用2015年11月份的价格)

价格示意图:

9

性价比

到了最重要的性价比的环节,我们要清楚知道每一块钱到底能买多少性能,根据上面的测试结果和价格,这样我们可以得到这样一组计算公式:性价比=性能相对值/价格相对值,由于1G文件上传有些厂商没值,小编选用了1K小文件+10M大文件的上传下载作为性能数据,以国内厂商阿里云的OSS性价比作为标杆,其性价比值设置为1,其他厂商来跟他对标情况。根据给出的测算公式,综合性价比排名前三的是:七牛云,阿里云,AWS。 垫底的是跟AWS一样来自海外的Azure。

10

11

(注:按照一个用户购买云存储一个月:存储空间10T,流出流量100GB/天,Get和Put请求次数(均25万次/天))

计算公式:性价比=性能相对值/价格相对值

性能相对值=(云存储RT性能相对值/4*60%)+(云存储TPS性能相对值/4*40%)

云存储RT性能相对值=阿里云/AWS(GET1K文件(RT))+阿里云/AWS(PUT1K文件(RT))+阿里云/AWS(GET1M文件(RT)+阿里云/AWS(PUT1M文件(RT)

云存储TPS性能相对值=AWS/阿里云(GET1K文件(TPS))+AWS/阿里云(PUT1K文件(TPS))+AWS/阿里云(GET1M文件(TPS))+AWS/阿里云(PUT1M文件(TPS))

价格相对值=AWS的云存储价格/阿里云的云存储价格

注:/ 符号为除以符号;用阿里云的值作绝对值,另以上RT性能越小越好,所以用阿里云/AWS,TPS性能越大越好,所以用AWS/阿里云;性能取值为50百分位。

结束语:

对于互联网领域的初创企业和转型互联网+的传统企业来说,选择正确的云存储的厂商是创业和转型成功的基本保障。然而对待各种厂商宣传的各种能力,我们要做到心里有杆秤,既不盲目听从厂商性能宣传,也不能仅仅从价格上来做选择。

对于如何评价一个云厂商的好坏,性价比是一种很好选择的方法,当然我们在做选择的时候,还可以通过产品的易用性,厂商的服务质量和能力,以及产品安全能力和产品覆盖区域来做更多的选择。


本文作者:佚名

来源:51CTO

最后

以上就是飞快丝袜为你收集整理的云存储之对象存储性价比小谈的全部内容,希望文章能够帮你解决云存储之对象存储性价比小谈所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部