基于开放云存储协议的云存储系统性能评测方法研究

2016-11-09 07:31:44齐婵颖李育超覃杨森
电子设计工程 2016年19期
关键词:文件类型存储系统评测

齐婵颖,李育超,聂 睿,覃杨森

(中国飞行试验研究院 陕西 西安 710089)

基于开放云存储协议的云存储系统性能评测方法研究

齐婵颖,李育超,聂 睿,覃杨森

(中国飞行试验研究院 陕西 西安 710089)

云存储系统的广泛应用带来了数据存储方式和商业模式的重大变革。然而,不同的云存储系统有不同的协议,横向之间尚无统一的评测基准,面对众多的云存储系统用户难以择优选择,云服务提供商也难以进一步改进设备和服务。本文针对基于开放云存储协议的云存储系统性能评测方法没有通用标准的问题,在分析开放云存储协议的基础上,分别研制了基于两种常用开放云存储协议(基于API接口和基于RESTFul接口)的性能测试工具。并应用这两种测试工具对比测试了基于API接口的开放云存储系统金山快盘和基于RESTFul接口的本地私有云存储系统OpenStack Swift的性能,分析了影响云存储系统性能的因素,为云存储厂商改进云存储服务提供了参考依据,同时,为用户选购基于开放云存储协议的云存储系统提供了理论指导。

云存储系统;开放云存储协议;性能评测方案;性能指标

云存储系统是一种以数据存储和管理为核心的云计算系统。构建云存储平台的各类应用和网络存储能否成功,很大程度上取决于云存储服务提供的性能。而有些厂商提供的云存储服务协议是对外开放的,这样的云存储系统是基于开放云存储协议的,开放云存储服务可以低成本提供大量的文件存储,供应商可以保持每个客户的存储、应用都是独立的、私有的[1]。因此,研究基于开放云存储协议的性能评测方法具有重要的研究价值。

1 开放云存储协议概述

开放存储服务(Open Storage Service,OSS)为用户提供大容量的云存储服务。用户可以调用OSS提供的API接口通过网络进行数据的上传和下载,并可通过Web控制台对数据进行管理。OSS的存储容量支持弹性扩容,并提供基于云计算模式的按使用量付费的结算功能[2]。开放式存储服务OSS适用于非结构化数据存储,底层采用分布式存储机制。

基于开放云存储协议的云存储系统是指协议对外公开的云存储系统,用户可以在其上开发自己的应用,也可以通过调用其API接口来实现相应的功能。

2 研究现状

哈佛大学在网络云存储系统的研究中采集了NFS trace[3]。YCSB[4](Yahoo Cloud Serving Benchmark)是Yahoo开发的,是面向key/value的云存储系统评估。此外,NoSQL针对大型数据存储机制,出现了许多存储解决方案,包括Google BigTable、CouchDB和MongoDB等。NoSQL数据库系统与传统数据库相比,具有更好的扩展性和更高的可用性,能够管理更大规模的数据。NoSQL数据库是采用一种非关系型的方式解决数据的存储和计算问题[5]。

Eucalyptus(ElasticUtilityComputingArchitecture forLinking Your Programs To Useful Systems)[6]可以有效评估云计算的网络性能。M Armbrust等人在云计算的看法一文中提出了对API性能的查询,通过改进架构和操作系统有效地虚拟化中断和I/O通道技术来实现性能优化[7]。

目前,业界对基于开放云存储协议的云存储系统性能评测有众多研究,但存在一些问题:1)当前云存储系统没有统一的评测基准,不同云存储系统之间很难进行横向对比。2)对应用层的研究尚不成熟,并且现有的研究主要是面向任务的,不具有通用性。3)云服务提供商提供的云存储系统是基于不同的协议的,协议内和协议间的云存储系统很难进行对比测试。4)云存储系统在不同环境下的性能表现尚无衡量标准,需要进一步研究。5)与云存储系统相关的角色有多种,每种角色关注性能层次不同,没有通用的多角色评测方案,不同角色之间评测很难对比。

针对云存储系统多角色、多层次、服务对象不确定、访问规模大的特点,选择适合通用云存储系统的性能评测体系至关重要,采用何种可兼顾云存储系统结构特点的通用评测架构和评测方案是一个值得研究的问题。此外,采用何种评测指标来对云存储系统做出准确的评价,为用户和云提供商选购和改进云存储服务质量提供了依据,具有很高的研究价值。与此同时,对云存储系统性能测试是对整个存储系统性能评测的重要组成部分,测得云存储系统各个环节的性能指标,对于存储系统整体性能的优化也具有重大意义。

3 云存储系统性能评测方案

3.1评测方法

用户通过网络测试云存储系统应用访问层和云存储服务接口层的性能,云存储服务提供商处在数据中心边缘,直接测试云存储系统应用访问层、云存储服务接口层、基础管理层和存储设备层4个层次的性能,数据也更真实。测试方法按照4个层次分别逐层进行。

1)应用访问层性能测试

应用访问层主要测试典型应用的性能,测试方法如下:

①测试目标:测试不同文件类型、不同网络环境、不同时间点下目标云存储系统的典型应用的性能。

②测试原理:不同文件类型、不同网络环境、不同时间点都会对典型文件性能造成影响,通过控制变量法测试典型应用的性能。

2)应用接口层性能测试

应用接口层主要测试云存储系统的访问接口性能、服务拒绝率和数据传输率。测试方法如下:

①测试目标:通过测试云存储系统API响应时间测试目标云存储系统API返回性能。通过记录请求失败的次数,统计服务拒绝率,评测接口性能。通过控制文件类型来测定不同文件大小的数据读写性能。

②测试原理:云存储提供开放的API接口。通过测试API响应时间可测试云存储系统访问接口性能。然而,每次API请求不一定被响应,这样就存在了服务被拒绝的情况,服务拒绝率能够准确衡量服务不被响应的概率。

3)基础管理层性能测试

基础管理层主要测试文件系统的元数据吞吐率、和聚合带宽。其中,元数据吞吐率用LZpack测试,聚合带宽用IOMeter测试。

①测试目标:元数据吞吐率测试存储系统对元数据的处理速率来衡量网络存储系统对文件或目录操作的支持能力。聚合带宽测试并行文件系统能够达到的聚合带宽的最大值,进而分析、评估文件系统的性能。

②测试原理:最大元数据吞吐率是当系统达到稳定时的峰值结果。平均元数据吞吐率是求得吞吐率的加权平均值。FSPoly基于客户端/服务器结构,其目标是并行测试文件系统的聚合带宽、并发连接数等性能指标。

4)存储设备层性能测试

存储设备层主要测试IOPS和数据传输率,测试工具用IOPMeter。测试方法如下:

①测试目标:测试存储设备在单位时间内的IO操作数和数据传输速率。

②测试原理:每个物理存储设备处理的IOPS是有限制的,如果超过限制的理论值,响应可能会变得非常缓慢而不能正常提供业务。而数据读写比例、读写块大小,及顺序读写/随机读写比例都会影响存储性能,通过IOmeter控制参数变化,可以测出影响存储设备的数据传输率因素。

3.2基于S3协议的工具研发

CSPTS(Cloud Storage Performance Test System)是自主研发的基于开放云存储协议S3协议的云存储系统性能评测工具,可针对目标云存储系统的应用接口层和应用访问层进行性能测试,通过直接调用API接口实现对应的功能,具体测试指标为访问接口性能、服务拒绝率、数据传输率和典型应用性能。

3.3基于RESTFul协议的工具研发

另外一种常用的开放云存储协议是基于RESTFul协议的,接口提供模式不同于基于S3协议的云存储系统。我们自主研发的云存储性能评测工具CST(Cloud Storage Test)可通过发送url请求实现对应API接口的调用。我们开发的CST功能模块划分如图1所示。

图1 云存储系统性能测试软件功能模块划分图

4 实验分析

4.1评测环境

基于开放云存储协议的测试是通过在客户端调用API来实现预期的功能,云存储系统核心架构由存储服务器或磁盘阵列、文件或元数据服务器集群,以及Web服务器集群组成。测试环境示意图如图2所示。

图2 云存储系统性能测试环境

用户处在数据中心外面,通过互联网,使用测试机来测试目标云存储系统提供的开放API接口性能和Web服务器的典型应用性能。通过在web服务器上运行Lzpack、FSpoly测试并行文件系统的性能。通过在文件服务器上运行Iometer测试目标云存储系统所使用的存储设备的性能。

Web服务器、文件服务器和存储服务器一起组成了数据中心,云存储服务提供商处在数据中心边缘,通过工具CSPTS测试典型应用和API性能。

在web服务器集群设置测试节点,通过LZpack和FSpoly测试文件系统层性能,在文件或元数据服务器集群设置测试节点,通过IOmeter测试目标云存储系统使用的存储设备性能。

4.2开放云存储API接口

每种云存储系统依托的开放云存储协议是不同的,我们分别选取基于S3协议的公有云存储系统的代表金山快盘和基于RESTFul协议的私有云存储系统OpenStack Swift进行分析对比。金山快盘和Swift的API接口对比如表1所示。

表中共罗列了常用的16种API接口,金山快盘和OpenStack Swift若提供某个开放的API接口,则在该接口后面用“■”表示,否则用“×”表示。从表1可以看出,虽然金山快盘和OpenStack Swift开放API接口实现的功能不完全一致,但均有13个开放API接口。

表1 金山快盘和Sw ift的API接口对比

4.3不同API响应时间对比

每种云存储系统有不同的API,我们针对快盘和OpenStack Swift API,对比单个有相同功能的API运行时间,求出每秒的API操作数,判断基于S3协议的公有云存储系统和基于RESTFul协议的本地私有云存储系统的性能差异。测试结果如图3所示。

图3 快盘API操作数VSSwift API操作数

从图可以看出,本地搭建的OpenStack Swift查看用户和显示元数据操作快于金山快盘,每秒的操作数远大于金山快盘,即该两种操作响应时间快于金山快盘。而其余API操作响应时间均远远长于金山快盘API操作响应时间,每秒API操作数都小于2。而金山快盘的API操作花费时间整体差异不大,每秒完成的API操作数在30个左右。可见,除了查看用户信息和显示元数据信息外,网盘的操作基本快于本地云存储。

4.4不同文件类型读写性能

为了验证文件类型是否对云存储系统的读写性能造成影响,我们分别针对不同的文件类型,调用快盘API和OpenStack Swift API,对比其数据传输率,进而判断文件类型是否影响读写性能。测试结果如图4和图5所示。

图4 文件类型VS上传速率

图5 文件类型VS下载速率

从上图可以看出,上传和下载速率是一个动态变化的数值,因此,在统计这些数据的时候,所采用的平均值将更能反映出金山快盘和OpenStack Swift传输速率的快慢问题。测试之后,我们通过统计出来的数据分析,快盘的上传速率在800 kB左右,而Swift的上传速率有些差异,但均不超过1 M。下载中,快盘的速率在200 kB左右浮动,而Swift的下载速率在250 kB到350 kB之间,均大于快盘,但是整体速率波动不大。可见,文件类型对读写性能影响不大,但是不同的云存储系统,读写性能有一定的差异。

4.5不同文件大小读写性能

为了验证文件大小是否对云存储系统的读写性能造成影响,我们分别针对特定的文件类型,对比快盘和OpenStack Swift在文件大小不同时的数据传输率变化,进而判断文件大小是否影响读写性能。实验中文件类型固定为doc,测试结果如图6和图7所示。

图6 文件大小VS上传速率

图7 文件大小VS下载速率

从图可以看出,在不同的文件大小下,快盘和Swift的上传和下载速率也是一个动态变化的数值。快盘的上传下载速率在不同文件大小时,均在1MB以下,而Swift的上传速率与文件大小正相关,随着文件的增大,上传速率逐渐增大,而下载速率略有浮动。可见,文件大小对快盘的读写性能影响不大,而对Swift的写性能影响较大,对读性能有一定影响。可见,文件大小是基于RESTFul接口的开放云存储系统的写瓶颈。

5 结束语

文中针对云存储系统在性能评测方面没有统一的针对基于开放云存储协议的评测方法的问题,在分析开放云存储协议的基础上,分别研制了基于API接口和RESTFul接口的性能测试工具。应用研制的测试工具,对开放云存储系统金山快盘和OpenStack Swift进行了对比测试,分析了影响云存储系统性能的因素,从而确定了性能瓶颈,给用户提供了横向对比,为用户选购、部署云存储系统提供可靠的参考意见。

[1]方巍,文学志,潘吴斌,等.云计算概念,技术及应用研究综述[J].南京信息工程大学学报自然科学版,2012,4(4):351-361.

[2]ArmbrustM,Fox A,Griffith R,etal.A view of cloud computing[J].Communicationsof the ACM,2010,53(4):50-58.

[3]Zhu N,Chen J,Chiueh T C,et al.TBBT:scalable and accurate trace replay for file server evaluation[C]//ACM SIGMETRICSPerformance Evaluation Review.ACM,2005,33(1):392-393.

[4]Cooper B F,Silberstein A,Tam E,et al.Benchmarking cloud serving systems with YCSB[C]//Proceedings of the 1st ACM symposium on Cloud computing.ACM,2010:143-154.

[5]权治,宋晶晶.基于 NoSQL的数据库技术分析[J].无线电工程,2013,43(9):4-6.

[6]Nurmi D,Wolski R,Grzegorczyk C,et al.The eucalyptus open-source cloud-computing system[C]//Cluster Computing and the Grid,2009.CCGRID'09.9th IEEE/ACM International Symposium on.IEEE,2009:124-131.

[7]Armbrust M,Fox A,Griffith R,et al.A view of cloud computing[J].Communications of the ACM,2010,53(4):50-58.

Research on performance evaluation technology on open cloud storage protocols

QIChan-ying,LIYu-chao,NIE Rui,QIN Yang-sen
(China Flight Test Establishment,Xi'an 710089,China)

Cloud storage system is now widely used,which has brought significant changes in data storage and business models.However,differentcloud storage system corresponds to differentprotocol.There are no uniform benchmarks for them,so it's difficult for users to choose the optimal onewhen they are facing a large number of cloud storage systems.At the same time,it'salso difficult for cloud service providers to improve equipmentand service further.This paper focused on the problem ofperformance evaluation scheme based on open cloud storage protocolson the base ofanalyzing open cloud storage protocols,developing two common open cloud storage protocols(API interface and RESTFul interface),developed two different performance testing tools.This two kinds of testing tools are used to do performance comparison testbetween Kingsoft Cloud based on open cloud storage system and localprivate cloud storage system OpenStack Swiftbased on RESTFul interface.Then we analysis the factors those influence the performance of cloud storage system,which provides reference for companies to improve cloud storage service further,and offers guidance for customs to purchase cloud storage system based on open cloud storage protocolsmeanwhile.

cloud storage system;open cloud storage protocols;performance evaluation scheme;performance index

TN06

A

1674-6236(2016)19-0034-04

2015-10-20稿件编号:201510136

齐婵颖(1990—),女,陕西西安人,硕士研究生,助理工程师。研究方向:数据管理。

猜你喜欢
文件类型存储系统评测
基于文件签名的FAT32文件恢复技术原理与实践
次时代主机微软XSX全方位评测(下)
次时代主机微软XSX全方位评测(上)
分布式存储系统在企业档案管理中的应用
哈尔滨轴承(2020年2期)2020-11-06 09:22:36
天河超算存储系统在美创佳绩
把我的秘密藏起来
攻坡新利器,TOKEN VENTOUS评测
Canyon Ultimate CF SLX 8.0 DI2评测
中国自行车(2017年1期)2017-04-16 02:54:06
HDFS小文件读写优化策略*
计算机时代(2016年9期)2016-10-28 09:30:33
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统