王蕾 繆國森 劉慧
【摘要】 針對現(xiàn)有云存儲視圖庫系統(tǒng),采用自動化測試工具與資源監(jiān)控工具相結(jié)合實現(xiàn)服務器端系統(tǒng)資源上傳下載功能的并發(fā)性測試。該種性能測試方法,無需使用復雜的性能測試工具,為系統(tǒng)的負載測試提供了新的思路和手段。
【關(guān)鍵詞】 云存儲視圖庫 自動化測試工具 并發(fā)性測試
一、背景
云存儲視圖庫系統(tǒng)是基于行業(yè)視頻監(jiān)控業(yè)務需求,開發(fā)出的一款集視頻片段存儲、轉(zhuǎn)發(fā)、下載為一體的視圖庫云節(jié)點產(chǎn)品。它提供基于秒級精度的視頻隨機尋幀、快進、快退的視圖播放器,能夠支持原始視頻和智能分析后的視頻的播放。采用集群管理技術(shù)實現(xiàn)多個視圖庫云節(jié)點的自組網(wǎng)。致力于為用戶提供更優(yōu)質(zhì)的服務。系統(tǒng)具備高性能、高可靠、高開放性、易維護、易管理的特點。能夠廣泛應用于平安城市、交通監(jiān)控、園區(qū)安防等的價值視頻片段的存取。
二、系統(tǒng)業(yè)務流程
云存儲視圖庫是一個由“中心控制服務器”、“文件控制服務器”以及流媒體文件點播服務器、視頻轉(zhuǎn)碼模塊以及客戶端共同組成的系統(tǒng)。為用戶提供視頻資源的上傳、下載、點播以及信息統(tǒng)計的功能,業(yè)務流程圖如下:
當 用戶進行文件上傳時,服務器會首先對文件的格式進行檢測,如果上傳的文件格式為圖片或其他文件,則直接進行存儲。當上傳的文件被檢測為視頻文件時,則先將視頻文件存儲到“文件緩存區(qū)”,調(diào)用視頻轉(zhuǎn)碼組件進行編碼與封裝格式轉(zhuǎn)換,然后再存儲到正式文件存儲區(qū)。用戶可以根據(jù)名稱、時間區(qū)間等條件對文件進行檢索,并對選取的文件進行下載或遠程視頻點播。視頻點播由用戶通過播放器客戶端向MainServer發(fā)起視頻點播請求,MainServer則調(diào)用媒體組件,得到流媒體點播組件返回的視頻流RTSP地址,然后流媒體點播組件會從文件存儲區(qū)讀取文件,將其打包成RTP視頻流并發(fā)送給播放器客戶端。當用戶上傳文件時,同時會為當前文件生成唯一的ID,當用戶取文件或進行視頻文件點播時,使用文件ID來作為標識。
三、系統(tǒng)并發(fā)性測試方法
針對本系統(tǒng)的資源上傳下載功能的負載測試,可采用自動化測試工具與資源監(jiān)控工具相結(jié)合的測試方法,對系統(tǒng)資源上傳下載的并發(fā)情況進行實時監(jiān)控。系統(tǒng)負載測試的流程如圖2所示:
1.在系統(tǒng)客戶端執(zhí)行單個資源文件的上傳或下載操作,此時,上傳或下載的文件會生成唯一的ID。2.在數(shù)據(jù)庫中查詢出該資源對應的ID編號,并在應用服務端的資源監(jiān)控器中觀察該編號是否在磁盤I/O中產(chǎn)生對應的PID進程。當并發(fā)執(zhí)行文件的上傳下載操作時,在應用服務端的資源監(jiān)控器中磁盤活動進程欄會對應生成多條PID。3.使用自動化測試工具(如按鍵精靈),編寫循環(huán)執(zhí)行上傳或下載操作的腳本,并發(fā)執(zhí)行多個大文件資源的上傳或下載操作。4.在應用服務端的資源監(jiān)控器中監(jiān)控各上傳下載操作對應PID進程的運行情況,包括監(jiān)控系統(tǒng)資源的CPU使用率、磁盤I/O的讀寫情況以及網(wǎng)絡使用率等數(shù)據(jù)。
由于系統(tǒng)設計時,生成的PID號是根據(jù)操作請求順序增長的,因此,在系統(tǒng)并發(fā)測試時還可根據(jù)PID編號的順序,監(jiān)控資源上傳下載操作是否有請求丟失的問題。如有請求丟失的情況,可查詢系統(tǒng)日志,排查請求丟失的原因。
當資源監(jiān)控器中各項指標都達到負載值時,統(tǒng)計出PID進程總數(shù)即為單臺設備允許的并發(fā)數(shù),以此確定系統(tǒng)的并發(fā)性能。
參 考 文 獻
[1] 張龍立.云存儲技術(shù)探討[J].電信科學,2010(S1).
[2]謝希仁. 計算機網(wǎng)絡(第五版)[M].北京:電子工業(yè)出版社,2008.
[3]唐凱,唐云韜等著.互聯(lián)網(wǎng)技術(shù)與應用 機械工業(yè)出版社,2006.
[4] 黃僑,葛世倫著. 開源Web自動化測試框架的改進 研究[J].科學技術(shù)與工程,2012.
[5]靳鴻著,測試系統(tǒng)設計原理與應用,電子工業(yè)出版社,2013.
[6]呂冰著,web編程與設計教程,河南大學出版社,201203.