国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Load Runner的監(jiān)控系統(tǒng)并發(fā)測試技術(shù)研究

2018-01-17 02:07:02廖蘋秀鄧丹王小娟
關(guān)鍵詞:用戶數(shù)腳本事務(wù)

廖蘋秀,鄧丹,王小娟

(電子科技集團(tuán)公司第三十研究所,四川成都610041)

監(jiān)控系統(tǒng)需要對(duì)上千臺(tái)設(shè)備進(jìn)行監(jiān)控,并且能實(shí)時(shí)監(jiān)控設(shè)備的當(dāng)前狀態(tài)。監(jiān)控系統(tǒng)對(duì)設(shè)備的管理基于管理協(xié)議來實(shí)現(xiàn)的。監(jiān)控系統(tǒng)的管理協(xié)議[1]最大的特點(diǎn)是由研制單位自主設(shè)計(jì)和研制的,未采用標(biāo)準(zhǔn)的協(xié)議。針對(duì)監(jiān)控系統(tǒng)管理協(xié)議的特點(diǎn),結(jié)合LoadRunner[2]并發(fā)性能測試工具,研究出一種可行的監(jiān)控系統(tǒng)并發(fā)性能測試方法,并運(yùn)用于監(jiān)控系統(tǒng)的并發(fā)性能測試。

1 并發(fā)測試設(shè)計(jì)

監(jiān)控系統(tǒng)并發(fā)性能測試需求來源于具體的業(yè)務(wù)需求,性能最終是以用戶能感受到形態(tài)得以體現(xiàn)。根據(jù)已發(fā)貨的監(jiān)控系統(tǒng)在用戶實(shí)際部署環(huán)境中所管理的設(shè)備的數(shù)量來分析,監(jiān)控系統(tǒng)應(yīng)具備很強(qiáng)的管控能力,同時(shí)需對(duì)部署于不同位置的上千臺(tái)設(shè)備進(jìn)行監(jiān)控,并且能實(shí)時(shí)地查詢設(shè)備的當(dāng)前狀態(tài),其工作模式如圖1[1]所示。

圖1 監(jiān)控系統(tǒng)工作模式

1.1 并發(fā)測試業(yè)務(wù)分析

被管設(shè)備啟動(dòng)后需要向監(jiān)控系統(tǒng)申請配置信息后才能完成啟動(dòng),按照用戶使用設(shè)備的方式和特點(diǎn)可將被管設(shè)備分為如下兩類:

終端類設(shè)備:此類設(shè)備部署在用戶工作環(huán)境內(nèi),用戶每天上班時(shí)開機(jī),下班時(shí)關(guān)機(jī)。設(shè)備開機(jī)時(shí)會(huì)進(jìn)行配置信息申請,設(shè)備工作時(shí)會(huì)定時(shí)上報(bào)運(yùn)行狀態(tài)。

機(jī)架類設(shè)備:此類設(shè)備部署在機(jī)房內(nèi),日常一般不會(huì)關(guān)機(jī),長期處于工作狀態(tài)。設(shè)備工作時(shí)會(huì)定時(shí)上報(bào)運(yùn)行狀態(tài)。

綜上所述:設(shè)備開機(jī)申請配置信息,定期上報(bào)運(yùn)行狀態(tài)兩個(gè)業(yè)務(wù)會(huì)對(duì)監(jiān)控系統(tǒng)造成并發(fā)壓力。此次主要針對(duì)上述兩個(gè)業(yè)務(wù)開展測試。

1.2 .測試環(huán)境

監(jiān)控系統(tǒng)并發(fā)性能測試環(huán)境由控制臺(tái)、負(fù)載機(jī)和監(jiān)控終端組成

圖2 監(jiān)控系統(tǒng)并發(fā)測試環(huán)境

上圖中負(fù)載機(jī)準(zhǔn)備使用高性能服務(wù)器來安裝Load Runner11的負(fù)載生成器??刂婆_(tái)為一臺(tái)PC機(jī)安裝Windows操作系統(tǒng)以及Loadrunner11的Windows版本,控制臺(tái)可以調(diào)用負(fù)載機(jī)上的服務(wù)來生成負(fù)載對(duì)被測設(shè)備發(fā)起并發(fā)測試。交換機(jī)均采用華的萬兆交換機(jī)。

2 測試方法

2.1 測試數(shù)據(jù)準(zhǔn)備

為了滿足使用LoadRunner進(jìn)行并發(fā)測試的需要,監(jiān)控系統(tǒng)需要對(duì)程序進(jìn)行修改,固化了每次業(yè)務(wù)交互中臨時(shí)產(chǎn)生的數(shù)據(jù)、去掉了協(xié)議中抗重放處理的內(nèi)容。

監(jiān)控系統(tǒng)并發(fā)測試所有的數(shù)據(jù)包,均采用shell腳本準(zhǔn)備,根據(jù)協(xié)議設(shè)計(jì),將協(xié)議中固定的字段部分準(zhǔn)備成固定的文件,可變部分通過插樁方式獲取數(shù)據(jù)。準(zhǔn)備數(shù)據(jù)包過程中涉及到大量的運(yùn)算,所有的運(yùn)算通過專用運(yùn)算工具完成。最終按照協(xié)議格式生成協(xié)議交互過程的完整數(shù)據(jù)包。

2.2 LoadRunner腳本準(zhǔn)備

上一代監(jiān)控系統(tǒng)并發(fā)測試中測試腳本采用錄制回放的方式準(zhǔn)備。由于每個(gè)被管設(shè)備的證書、協(xié)議的特殊字段均不相同,無法在腳本中進(jìn)行參數(shù)化。如需模擬300個(gè)并發(fā)用戶,則需要錄制300次腳本,每次錄制一次需要模擬不同設(shè)備準(zhǔn)備相關(guān)數(shù)據(jù),至少要5分鐘以上,而且當(dāng)監(jiān)控系統(tǒng)版本更換后,準(zhǔn)備的腳本可能無法重用,需要重新錄制,效率非常低。

這一代的監(jiān)控系統(tǒng)并發(fā)測試過程中對(duì)采用3.1節(jié)所述的方式對(duì)準(zhǔn)備測試數(shù)據(jù),腳本的開發(fā)是利用LoadRunner性能測試工具的VirtualUserGenerator生成測試腳本,協(xié)議選擇WebService和Windows Sockets。測試腳本主要分三個(gè)部分:Vuser_init,Action和Vuser_end。各部分主要功能如下:

Vuser_init:將3.1節(jié)中準(zhǔn)備的數(shù)據(jù)包寫入到buffer中,同時(shí)將設(shè)備id參數(shù)化成Vuserid;

Action:創(chuàng)建套接字,按照協(xié)議發(fā)送和接收數(shù)據(jù)包,同時(shí)根據(jù)協(xié)議內(nèi)容創(chuàng)建事務(wù),對(duì)各測試指標(biāo)按照事務(wù)進(jìn)行統(tǒng)計(jì);同時(shí)在創(chuàng)建套接字連接時(shí)設(shè)置開始事務(wù)lr_start_action()[3],在關(guān)閉套接字連接時(shí)設(shè)置結(jié)束事務(wù)lr_end_action()[3],設(shè)置開始和結(jié)束事務(wù)的主要目的是測試過程中對(duì)各類指標(biāo)進(jìn)行統(tǒng)計(jì)和計(jì)算。

Vuser_end:程序執(zhí)行完成后,返回。

采用這種方式測試數(shù)據(jù)的優(yōu)點(diǎn)在于:一旦數(shù)據(jù)包腳本準(zhǔn)備好后,如果監(jiān)控系統(tǒng)版本更新,只需要重新運(yùn)行腳本產(chǎn)生協(xié)議交互數(shù)據(jù)包即可,測試腳本不用改變,可大大節(jié)約時(shí)間,提升測試效率。

3 并發(fā)測試數(shù)據(jù)分析

從并發(fā)性能測試數(shù)據(jù)分析中可以得到對(duì)系統(tǒng)性能的科學(xué)評(píng)估,為系統(tǒng)性能調(diào)整優(yōu)化提供數(shù)據(jù)資料。Loadruner提供了圖形化測試數(shù)據(jù)分析功能,包括虛擬用戶數(shù)曲線、每秒事務(wù)數(shù)曲線以及事務(wù)響應(yīng)時(shí)間曲線。

3.1 虛擬用戶數(shù)曲線

虛擬用戶指向被測設(shè)備發(fā)起訪問的用戶,這些用戶必須跟被測設(shè)備進(jìn)行數(shù)據(jù)交互。使用Load-Runner進(jìn)行測試時(shí)的虛擬用戶就是圖3和圖4中縱坐標(biāo)上顯示的Vusers數(shù)。

圖3和圖4所示為實(shí)測的虛擬用戶數(shù)曲線的兩個(gè)示例。從圖3中可以看出,虛擬用戶數(shù)達(dá)到一個(gè)峰值400后,每運(yùn)行一段時(shí)間虛擬用戶數(shù)就會(huì)減少,減少的虛擬用戶是由于程序有缺陷導(dǎo)致虛擬用戶執(zhí)行失敗后退出。程序中的缺陷修復(fù)后的虛擬用戶數(shù)見圖4,系統(tǒng)支持的虛擬用戶數(shù)在達(dá)到一個(gè)峰值(400)過后一直處于非常平穩(wěn)的狀態(tài),直到運(yùn)行結(jié)束后自動(dòng)退出。

圖3 虛擬用戶數(shù)示例一

圖4 虛擬用戶數(shù)示例二

3.2 .每秒事務(wù)數(shù)曲線

每秒事務(wù)數(shù)指每秒鐘傳輸?shù)氖聞?wù)的處理個(gè)數(shù),即被測設(shè)備每秒處理的業(yè)務(wù)數(shù)量。每秒事務(wù)數(shù)曲線統(tǒng)計(jì)的是在測試場景中運(yùn)行的并發(fā)業(yè)務(wù)每秒通過、失敗以及停止的次數(shù),事務(wù)的開始和結(jié)束在測試腳本中設(shè)置。

圖5和圖6所示為實(shí)測的每秒事務(wù)數(shù)的兩個(gè)示例。圖5中事務(wù)處理能力隨著時(shí)間軸上下振蕩,說明系統(tǒng)在業(yè)務(wù)處理過程中存在處理缺陷,從而影響了系統(tǒng)的性能指標(biāo)。經(jīng)過修改和調(diào)優(yōu)后,每秒事務(wù)數(shù)曲線如圖6所示,在測試周期內(nèi)系統(tǒng)每秒事務(wù)數(shù)趨于穩(wěn)定而且每秒事務(wù)數(shù)也比圖5所示的每秒事務(wù)數(shù)提升了25%左右。

圖5 每秒事務(wù)數(shù)示例一

圖6 每秒事務(wù)數(shù)示例二

3.3 平均事務(wù)響應(yīng)時(shí)間

平均事務(wù)響應(yīng)時(shí)間指針對(duì)某個(gè)業(yè)務(wù)的訪問統(tǒng)計(jì)所有的響應(yīng)時(shí)間,然后求平均值。平均事務(wù)響應(yīng)時(shí)間曲線統(tǒng)計(jì)的是在測試場景中運(yùn)行的并發(fā)業(yè)務(wù)在不同時(shí)間點(diǎn)的事務(wù)運(yùn)行所消耗時(shí)間的平均值。

圖7實(shí)測的平均事務(wù)響應(yīng)時(shí)間的示例,在并發(fā)用戶數(shù)不變的條件下,平均事務(wù)響應(yīng)時(shí)間與每秒事務(wù)數(shù)成反比的關(guān)系。結(jié)合圖5可以看出,當(dāng)平均事務(wù)響應(yīng)時(shí)間曲線為波峰的時(shí)候,每秒事務(wù)數(shù)為波谷,平均響應(yīng)時(shí)間越短則每秒事務(wù)數(shù)越大。

圖7 平均事務(wù)響應(yīng)時(shí)間

4 總結(jié)

本文介紹了利用性能測試工具LoadRunner對(duì)監(jiān)控系統(tǒng)進(jìn)行并發(fā)測試,設(shè)計(jì)了一種對(duì)監(jiān)控系統(tǒng)進(jìn)行并發(fā)性能測試的新方案,該方案與已有方案的主要不同之處在于其優(yōu)化了準(zhǔn)備測試數(shù)據(jù)和腳本的方法,大大提高的測試的效率,從而降低了測試成本。將該方案運(yùn)用于監(jiān)控系統(tǒng)并發(fā)性能測試,并通過對(duì)測試結(jié)果進(jìn)行分析,找出了系統(tǒng)的性能瓶頸并進(jìn)行了優(yōu)化,從而避免系統(tǒng)在上線以后遇到的性能風(fēng)險(xiǎn)。

[1] 辜彬,廖蘋秀,古紅峰.管理協(xié)議并發(fā)性能測試研究[J].通信技術(shù),2013,(8).

[2] 張卉,高仲合,黃銘.基于Load Runner的Web作業(yè)系統(tǒng)性能測試方案的研究與設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2015,(5).

[3] 陳夢云,高建華.基于Load Runner的理財(cái)平臺(tái)性能測試[J].上海師范大學(xué)學(xué)報(bào)(自然可科學(xué)版),2016,(4).

猜你喜歡
用戶數(shù)腳本事務(wù)
“事物”與“事務(wù)”
酒駕
基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
安奇奇與小cool 龍(第二回)
河湖事務(wù)
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
快樂假期
基于VBS實(shí)現(xiàn)BRAS在線用戶數(shù)的自動(dòng)提取
2016年6月電話用戶分省情況
2013年12月電話用戶分省情況
穆棱市| 伊春市| 石城县| 哈密市| 镶黄旗| 泸西县| 商都县| 鄂温| 阳东县| 永兴县| 尼勒克县| 湖南省| 花莲县| 莲花县| 中阳县| 宝山区| 黑河市| 开原市| 芦溪县| 万山特区| 邯郸县| 安泽县| 平定县| 延庆县| 竹北市| 新龙县| 安福县| 丹东市| 无极县| 南木林县| 涿州市| 马山县| 吉林省| 怀集县| 循化| 永新县| 翁牛特旗| 鹤山市| 渭南市| 彰化县| 玉溪市|