999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通用工具構(gòu)建云存儲(chǔ)自動(dòng)化測試平臺的方案

2017-07-06 11:03:27周林
移動(dòng)通信 2017年10期
關(guān)鍵詞:跨平臺

周林

【摘 要】為了解決云存儲(chǔ)性能測試中由于產(chǎn)品種類多、部署時(shí)間長、硬件依賴差異大等導(dǎo)致的測試重復(fù)動(dòng)作多、測試項(xiàng)多、調(diào)優(yōu)參數(shù)多、消耗時(shí)間長等問題,通過采用開源、跨平臺的編程語言、框架和測試工具,分析了業(yè)界認(rèn)可的測試工具、性能數(shù)據(jù)和處理算法,并提出了包含部署、調(diào)優(yōu)、測試、數(shù)據(jù)分析和可視化等流程的自動(dòng)化測試平臺方案。經(jīng)過實(shí)驗(yàn)驗(yàn)證了自動(dòng)化測試平臺的有效性,并發(fā)現(xiàn)了不同云存儲(chǔ)產(chǎn)品的優(yōu)缺點(diǎn)、調(diào)優(yōu)參數(shù)的實(shí)際作用,為云存儲(chǔ)的技術(shù)選型提供了有力技術(shù)支撐。

【關(guān)鍵詞】云存儲(chǔ) 自動(dòng)化測試平臺 跨平臺

1 引言

云存儲(chǔ)作為云計(jì)算中的一種基礎(chǔ)設(shè)施,是云計(jì)算不斷向前發(fā)展的基石,也是一種能夠與云計(jì)算所需要的PB甚至ZB級別存儲(chǔ)相匹配的現(xiàn)代存儲(chǔ)[1]。它是一種新的網(wǎng)絡(luò)存儲(chǔ)技術(shù),通過結(jié)合集群技術(shù)、網(wǎng)絡(luò)技術(shù)、分布式文件系統(tǒng)、特定的軟件技術(shù)將大量存儲(chǔ)設(shè)備構(gòu)建為一個(gè)統(tǒng)一的存儲(chǔ)資源池,提供統(tǒng)一的命名空間,作為一個(gè)整體對外提供數(shù)據(jù)存儲(chǔ)和訪問服務(wù)[2-3]。

云存儲(chǔ)是未來存儲(chǔ)的主要發(fā)展方向,市面上已經(jīng)有很多家相關(guān)廠商,技術(shù)側(cè)重點(diǎn)各有不同,同時(shí)由于底層硬件組合對于云存儲(chǔ)的性能也有很大影響,因此在技術(shù)選型時(shí)對各家云存儲(chǔ)進(jìn)行廣泛、有效、跨硬件平臺的性能測試就顯得尤為重要。云存儲(chǔ)的測試通常具有測試消耗時(shí)間長、測試項(xiàng)多、調(diào)優(yōu)參數(shù)多、部署時(shí)間長、硬件依賴差異大等特點(diǎn)。基于此,本文提出設(shè)計(jì)一種通用的自動(dòng)化測試平臺,它能夠一次實(shí)施部署后重復(fù)使用;批量設(shè)置測試任務(wù)集,更換硬件平臺后復(fù)制測試任務(wù)集即可實(shí)現(xiàn)自動(dòng)順序執(zhí)行;測試任務(wù)前支持執(zhí)行自定義的參數(shù)調(diào)整腳本;能夠跨平臺;使用通用開源工具,認(rèn)可度高且方便復(fù)現(xiàn);能夠進(jìn)行分布式性能監(jiān)控?cái)?shù)據(jù)收集[4];能夠自動(dòng)生成圖表直觀展示性能。

2 常用工具和方法介紹

Python是一種面向?qū)ο蟆⒔忉屝偷挠?jì)算機(jī)程序語言,可以跨平臺運(yùn)行,具有豐富、強(qiáng)大的標(biāo)準(zhǔn)庫和第三方擴(kuò)展庫,功能覆蓋科學(xué)計(jì)算、Web開發(fā)、數(shù)據(jù)庫接口、圖形系統(tǒng)多個(gè)領(lǐng)域,并且大多成熟而穩(wěn)定;Python在設(shè)計(jì)上堅(jiān)持了清晰統(tǒng)一的風(fēng)格,這使得Python成為一門易讀、易維護(hù)且被大量用戶所歡迎的用途廣泛的語言[5]。

Psutil[6](Python的系統(tǒng)和進(jìn)程工具)是一個(gè)跨平臺的Python庫,目前支持Linux、Windows、OSX等平臺,主要用于檢索正在運(yùn)行的進(jìn)程、限制進(jìn)程占用的資源和對運(yùn)行的進(jìn)程進(jìn)行管理;同時(shí)還能夠?qū)ο到y(tǒng)實(shí)施監(jiān)控和分析,如能夠獲取CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)和傳感器的信息[7]。

Matplotlib[8]是一個(gè)Python的2D繪圖庫,能夠生成出版物質(zhì)量級別的圖形,并輸出多種圖形格式,也是跨平臺的。它可以生成圖、直方圖、功率譜圖、條形圖、誤差圖以及散點(diǎn)圖等,都只需要使用幾行代碼。

FIO是一個(gè)非常強(qiáng)大的I/O性能測試工具,是業(yè)界認(rèn)可的一種I/O基準(zhǔn)測試工具,也是跨平臺的。它支持13種不同類型的I/O引擎以及設(shè)置I/O優(yōu)先級、I/O速率等,可以工作在塊設(shè)備以及文件兩種存儲(chǔ)模式下,通過一個(gè)簡單的配置文件來詳細(xì)控制測試的所有細(xì)節(jié);除了最終結(jié)果外,它還支持將測試過程中的性能數(shù)據(jù)輸出到文件,方便查看整個(gè)過程中的變化曲線[9]。

3 系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

3.1 系統(tǒng)總體設(shè)計(jì)

本文構(gòu)建的自動(dòng)化測試平臺主要包含以下三類節(jié)點(diǎn):

(1)控制節(jié)點(diǎn):用來控制整個(gè)測試流程,收集、處理、展示測試數(shù)據(jù);

(2)負(fù)載節(jié)點(diǎn):用來生成負(fù)載,直接通過存儲(chǔ)網(wǎng)絡(luò)與云存儲(chǔ)連接;

(3)云存儲(chǔ)節(jié)點(diǎn):用來構(gòu)建云存儲(chǔ)集群的節(jié)點(diǎn)。

云存儲(chǔ)自動(dòng)化測試平臺架構(gòu)如圖1所示:

3.2 系統(tǒng)組件設(shè)計(jì)

本文構(gòu)建的自動(dòng)化測試平臺包含的組件主要如下:

(1)部署:該組件的任務(wù)是在特定平臺上生成測試所用的虛擬機(jī),檢查并驗(yàn)證測試所需軟件是否安裝完備;

(2)調(diào)優(yōu):該組件的任務(wù)是針對某類測試對云存儲(chǔ)進(jìn)行參數(shù)調(diào)整,這也是本平臺的特色之一,可以在測試前指定本輪測試需要驗(yàn)證云存儲(chǔ)的哪些調(diào)整參數(shù);

(3)測試:該組件是測試平臺的核心組件,即在所有測試虛擬機(jī)加載測試云存儲(chǔ)、運(yùn)行相關(guān)性能監(jiān)控程序(Psutil)、運(yùn)行測試程序、監(jiān)控測試程序運(yùn)行情況等;

(4)分析:該組件的任務(wù)是將測試數(shù)據(jù)、測試期間的性能數(shù)據(jù)進(jìn)行處理和分析,形成指定格式的數(shù)據(jù);

(5)可視化:該組件的任務(wù)是將前面經(jīng)過處理和分析的數(shù)據(jù)畫圖,主要就是使用Matplotlib。

3.3 系統(tǒng)流程設(shè)計(jì)

本文所構(gòu)建的自動(dòng)化測試平臺測試流程如圖2所示。

下面將從以下三個(gè)維度來描述測試平臺的測試流:

(1)測試任務(wù)集

測試任務(wù)集就是所有測試任務(wù)的一個(gè)集合,通過配置文件指定,這樣可實(shí)現(xiàn)測試任務(wù)的批量執(zhí)行,全程無需人工干預(yù),自動(dòng)完成所有既定的測試任務(wù),并將所有任務(wù)的結(jié)果整合到一個(gè)頁面展示,方便用戶對比分析。

(2)針對每個(gè)測試任務(wù)的工作流

一個(gè)具體任務(wù)的工作流基本跟上文提到的平臺組件一致,具體如下:

部署階段會(huì)再次清理前一次測試的所有臨時(shí)數(shù)據(jù),準(zhǔn)備好測試用的虛擬機(jī),驗(yàn)證所有需要用到的軟件是否完備;

調(diào)優(yōu)階段則是根據(jù)本次測試任務(wù)自定義的配置文件對云存儲(chǔ)的相關(guān)參數(shù)進(jìn)行調(diào)整,并確保云存儲(chǔ)在參數(shù)調(diào)整之后集群狀態(tài)恢復(fù)正常才進(jìn)入下一個(gè)階段,當(dāng)前調(diào)優(yōu)的支持方式是用戶根據(jù)云存儲(chǔ)的特性自定義調(diào)優(yōu)腳本,支持的腳本類型是PowerShell、Bash和Python;

準(zhǔn)備階段主要是為虛擬機(jī)分配云存儲(chǔ),驗(yàn)證云存儲(chǔ)的可用性;

測試階段會(huì)先運(yùn)行所有的性能監(jiān)控程序,包括控制節(jié)點(diǎn)、負(fù)載節(jié)點(diǎn)、虛擬機(jī)、云存儲(chǔ)節(jié)點(diǎn)等,然后再根據(jù)選定的測試類型執(zhí)行測試;

分析階段會(huì)收集所有的測試數(shù)據(jù)和性能數(shù)據(jù),依靠Python強(qiáng)大的數(shù)據(jù)處理能力,挑選所有輸出數(shù)據(jù)中需要的信息組成特定的格式交給下一步使用;

可視化階段就是利用Matplotlib將生成的數(shù)據(jù)圖表化,并分門別類地組織在一起;

清理回收階段則是釋放所有云存儲(chǔ)、清空數(shù)據(jù)目錄、所有虛擬機(jī)關(guān)機(jī)。

(3)數(shù)據(jù)流

在整個(gè)測試流中,數(shù)據(jù)分為以下兩種:

測試數(shù)據(jù)流:是控制器發(fā)起,負(fù)載節(jié)點(diǎn)上的虛擬機(jī)生成,通過存儲(chǔ)網(wǎng)絡(luò)到達(dá)云存儲(chǔ)集群;

控制數(shù)據(jù)流:是控制器同時(shí)向負(fù)載節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)發(fā)起,在測試完成后再分別將數(shù)據(jù)傳給控制器。

4 自動(dòng)化測試平臺

本文實(shí)現(xiàn)的自動(dòng)化測試平臺基于B/S架構(gòu),用戶通過瀏覽器配置所有測試任務(wù),在瀏覽器查看所有測試結(jié)果,雙擊任意測試任務(wù)即可查看該任務(wù)的詳細(xì)報(bào)告。測試任務(wù)集示例如圖3所示。

上述任務(wù)集中前兩個(gè)是默認(rèn)配置,中間兩個(gè)是經(jīng)過調(diào)優(yōu)的,最后兩個(gè)是使用了PCI-E SSD后的結(jié)果。在三大類中選取其中一次測試的IOPS數(shù)據(jù)分別如圖4至圖6所示。

通過圖4和圖5對比可知,調(diào)優(yōu)后雖然IOPS有小幅度降低,但是整體更加趨于平緩,波動(dòng)很小,這說明存儲(chǔ)性能的穩(wěn)定性更好。

通過圖5和圖6對比可知,PCI-E SSD對于云存儲(chǔ)的加速效果很顯著,有了PCI-E SSD,云存儲(chǔ)的冷熱數(shù)據(jù)分離優(yōu)勢才能得以體現(xiàn)。

5 結(jié)束語

本文通過使用業(yè)界認(rèn)可的通用、開源、跨平臺的工具和方法,構(gòu)建了一個(gè)包含部署、調(diào)優(yōu)、測試、數(shù)據(jù)分析和可視化等全流程的云存儲(chǔ)自動(dòng)化測試平臺。測試平臺通過設(shè)置任務(wù)集、自定義調(diào)優(yōu)腳本、自動(dòng)化性能數(shù)據(jù)收集處理和自動(dòng)輸出性能圖表等特色功能,為用戶判斷云存儲(chǔ)性能提供了強(qiáng)有力的數(shù)據(jù)支撐。實(shí)驗(yàn)數(shù)據(jù)表明,本文構(gòu)建的云存儲(chǔ)自動(dòng)化測試平臺能夠方便快捷地對比不同云存儲(chǔ)產(chǎn)品的性能,并采用簡單自定義調(diào)優(yōu)參數(shù)來驗(yàn)證該參數(shù)在實(shí)際應(yīng)用中的效果,這樣既為云存儲(chǔ)技術(shù)選型提供了依據(jù),又為后期使用的優(yōu)化提供了參考。

參考文獻(xiàn):

[1] 陳杰. 大數(shù)據(jù)場景下的云存儲(chǔ)技術(shù)與應(yīng)用[J]. 中興通訊技術(shù), 2012(6): 47-51.

[2] 劉貝,湯斌. 云存儲(chǔ)原理及發(fā)展趨勢[J]. 科技信息, 2011(5): 50-51.

[3] 周可,王樺,李春花. 云存儲(chǔ)技術(shù)及其應(yīng)用[J]. 中興通訊技術(shù), 2010(4): 24-27.

[4] 邱全偉,朱立谷,陽小珊,等. 海量存儲(chǔ)測試平臺監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)研究與發(fā)展, 2011(S1): 68-73.

[5] 劉麗媛. 基于Python的半導(dǎo)體測試軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京: 北京交通大學(xué), 2013.

[6] GitHub. giampaolo/psutil[EB/OL]. [2017-05-14]. https://github.com/giampaolo/psutil.

[7] 曹東航. 基于Ganglia的云平臺監(jiān)控的研究與實(shí)現(xiàn)[D]. 成都: 電子科技大學(xué), 2016.

[8] GitHub. matplotlib/matplotlib[EB/OL]. [2017-05-14]. https://github.com/matplotlib/matplotlib.

[9] 趙夢茹. 移動(dòng)終端Linux存儲(chǔ)IO性能分析與優(yōu)化[D]. 西安: 西安電子科技大學(xué), 2014.

[10] 鄭慶. 海量規(guī)模下高性能對象存儲(chǔ)服務(wù)技術(shù)的研究[D]. 上海: 上海交通大學(xué), 2013.

猜你喜歡
跨平臺
跨層級網(wǎng)絡(luò)、跨架構(gòu)、跨平臺的數(shù)據(jù)共享交換關(guān)鍵技術(shù)研究與系統(tǒng)建設(shè)
一款游戲怎么掙到全平臺的錢?
潛力雙跨平臺:進(jìn)階:誰將跨入下一個(gè)“十大”?
跨平臺APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
基于C++語言的跨平臺軟件開發(fā)的設(shè)計(jì)
基于C++語言的跨平臺軟件開發(fā)
移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺開發(fā)
一種虛擬現(xiàn)實(shí)應(yīng)用程序跨平臺方法的研究
基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
基于OPC跨平臺通信的電機(jī)監(jiān)測與診斷系統(tǒng)
主站蜘蛛池模板: 久久综合婷婷| 欧美亚洲国产视频| 亚洲热线99精品视频| 亚洲欧美激情另类| 国产粉嫩粉嫩的18在线播放91 | 99色亚洲国产精品11p| 污网站免费在线观看| 狠狠操夜夜爽| 国产精品专区第1页| 亚洲第一黄色网址| 亚洲天堂高清| 国产精品美人久久久久久AV| 久久午夜夜伦鲁鲁片不卡| 无码av免费不卡在线观看| 国产精品页| 久久精品嫩草研究院| 国内黄色精品| 99精品免费在线| 老司机久久99久久精品播放| 日本五区在线不卡精品| 欧美日韩在线亚洲国产人| 亚洲国模精品一区| 天天综合网色| AV不卡国产在线观看| 伊人精品成人久久综合| 国产成人精品视频一区视频二区| 亚洲一区第一页| 亚洲第一色网站| 久久永久视频| 亚洲精品午夜天堂网页| 国产精品成| 男人天堂伊人网| AV片亚洲国产男人的天堂| 国产福利一区在线| 精品国产www| 国产精品冒白浆免费视频| 四虎国产精品永久一区| 天天摸天天操免费播放小视频| 欧美区一区| 精品综合久久久久久97超人| 美女无遮挡免费视频网站| 国产精品香蕉在线观看不卡| 国产尤物在线播放| 国产噜噜在线视频观看| 九九久久精品国产av片囯产区| 欧美日韩第三页| 欧美视频在线第一页| 亚洲日韩高清在线亚洲专区| 美女被躁出白浆视频播放| 综合天天色| 成人在线视频一区| 草草影院国产第一页| 无码电影在线观看| 伊人大杳蕉中文无码| 精品無碼一區在線觀看 | 午夜限制老子影院888| 欧美在线精品一区二区三区| 国产成人亚洲无吗淙合青草| 国产成人在线无码免费视频| 日韩不卡高清视频| 免费无码一区二区| 美女一区二区在线观看| 一本综合久久| 无遮挡国产高潮视频免费观看 | 日韩av电影一区二区三区四区| 99精品福利视频| 国产精品成人不卡在线观看| 成人蜜桃网| AV在线天堂进入| 亚洲v日韩v欧美在线观看| 久久青草视频| 久久精品亚洲热综合一区二区| 亚洲国产成人精品无码区性色| 欧洲成人免费视频| 不卡的在线视频免费观看| 国产大全韩国亚洲一区二区三区| 91综合色区亚洲熟妇p| 成人年鲁鲁在线观看视频| 内射人妻无码色AV天堂| 国产在线观看精品| 欧美不卡二区| 狠狠操夜夜爽|