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

軟件測試在B/S架構(gòu)系統(tǒng)中進行性能優(yōu)化的應用研究

2012-11-21 10:47:12彭振龍
韓山師范學院學報 2012年6期
關(guān)鍵詞:設置用戶系統(tǒng)

彭振龍

(泉州師范學院陳守仁工商信息學院,福建泉州 362000)

1 性能測試概念及其必要性

隨著互聯(lián)網(wǎng)技術(shù)及應用的飛速發(fā)展,軟件系統(tǒng)的性能已是衡量軟件質(zhì)量的一個重要指標.根據(jù)CNNIC發(fā)布的第29次報告,截止2011年底,中國的網(wǎng)民數(shù)量已達到5.13億,網(wǎng)站數(shù)量達到229.6萬,CN的域名注冊數(shù)量達353萬[1].所有這些基于B/S架構(gòu)的網(wǎng)絡服務都面臨性能問題,如大型電子商務網(wǎng)站促銷或高考分數(shù)公布,人們會在同一時間要求服務器響應服務,瞬時負載有可能達到或超過系統(tǒng)所能承受的極限,導致系統(tǒng)響應緩慢甚至癱瘓,因此對網(wǎng)絡系統(tǒng)進行測試和優(yōu)化顯得尤為重要.而性能測試是和功能測試相對應的概念,功能測試是指為確認軟件是否能完成某項功能而進行的一系列測試,而性能測試則是指為確認軟件執(zhí)行效率而實施的一系列測試行為,這包括在一定負載和壓力下軟件系統(tǒng)的執(zhí)行效率,包括服務響應時間、連接數(shù)、穩(wěn)定性、安全性、可擴展性、資源占用率等項目和指標[2-3].

利用負載測試(load testing)和壓力測試(stress testing)等性能測試方法[2-5],能有效地模擬出軟件系統(tǒng)在現(xiàn)實環(huán)境中的應用情況,通過分析軟件在不同壓力和負載下的表現(xiàn),如CPU占用率、內(nèi)存使用率、客戶端響應時間、網(wǎng)絡通信數(shù)據(jù)率等,根據(jù)工程的分析方法,找到軟件系統(tǒng)架構(gòu)、功能模塊等方面的瓶頸,并找出軟件系統(tǒng)能提供的最大服務級別,從而為軟件系統(tǒng)的全面優(yōu)化提供基本參考.

2 性能測試工具及重要概念

在自動化測試出現(xiàn)以前,性能測試工作主要依靠多臺單機,在統(tǒng)一指揮下,同一時刻點擊某個操作,以達到模擬并發(fā)的目的.自從性能測試的自動化工具出現(xiàn)后,這一工作變得簡單了許多.目前,商業(yè)性的工具主要有Loadrunner、QAload、SilkPerformance、Webload,Rational Performance Tester(RPT),而免費的測試工具主要有OpenSTA、微軟的WAST(Web Application Stress Tool).其中l(wèi)oadrunner以其圖形化界面直觀友好,支持協(xié)議眾多,可預測并調(diào)優(yōu)系統(tǒng),功能強大而深受好評[6].下面以loadrunner為例進行討論,為了后面論述的方便先介紹一下loadrunner在性能測試中所涉及的重要概念.

并發(fā):指有多個業(yè)務操作在同一時間發(fā)生.

事務:用于度量服務器響應時間的任務或操作集.

虛擬用戶(Vuser):是指通過loadrunner軟件模擬出真實用戶,通常在同一臺機器中可以模擬出很多虛擬用戶.

吞吐量:一定時間內(nèi),處理客戶端請求的數(shù)量,直接反映了軟件的性能承載能力.

思考時間:用戶在執(zhí)行兩個連續(xù)操作期間等待的時間.

集合點:用于同步虛擬用戶以便恰好在同一時刻執(zhí)行任務.

3 性能測試步驟

3.1 測試環(huán)境的配置

測試環(huán)境主要包括服務器的硬件環(huán)境如CPU、硬盤、內(nèi)存、網(wǎng)卡、網(wǎng)絡帶寬等,軟件環(huán)境主要包括操作系統(tǒng)、數(shù)據(jù)庫、web服務器軟件等.同時還需要根據(jù)用戶使用手冊列出的在某個并發(fā)數(shù)下的服務響應時間,內(nèi)存及CPU的占用率等要求達到的性能指標,以便在進行測試結(jié)果分析時參考.

3.2 創(chuàng)建與編輯腳本

Loadrunner允許用戶通過實際的操作來錄制腳本,當然對于非常熟悉loadrunner腳本編寫的用戶,也可以手動編輯腳本.對于B/S系統(tǒng),在錄制腳本前,需選擇“web(http/html)”協(xié)議,如圖1所示.之后設置錄制參數(shù),如圖2所示.完成后,點擊OK,則啟動web服務,開始錄制腳本.錄制期間,用戶通過瀏覽器與服務正常會話,loadrunner會記錄下用戶的所有動作.用戶可以點擊錄制工具條上的“”,以停止錄制,如圖3所示,此時loadrunner自動生成測試腳本.

3.3 腳本修改

腳本錄制完成后,需要對其進行完善,比如加入集合點、加入思考時間、加入其他事務等.腳本修改的另一個重要內(nèi)容就是“參數(shù)化”.所謂的參數(shù)化是指對不允許重復輸入的數(shù)據(jù),需要用變量(參數(shù))代替固定文本.例如在測試注冊事務過程中,錄制的腳本如下:

Web_submit_form(“register.jsp”,

圖1 loadrunner腳本錄制協(xié)議選擇框

“Snapshot=t2.inf”,

ITEMDATA,

“Name=unitname”,“value=jxndpzl”,ENDITEM,

LAST);

其中的“value=jxndpzl”是錄制腳本時注冊用戶名.顯然,在實際業(yè)務中不允許再次注冊一個jxndpzl的用戶名.這就導致在腳本回放或者要模擬多個用戶同時注冊時,腳本無法成功提交.因此需要對腳本進行參數(shù)化,即將

“Name=unitname”,“value=jxndpzl”,ENDITEM.改為

“Name=unitname”,“value={punitname} ”,ENDITEM.

其中的punitname即是代表注冊用戶名的參數(shù),它可以是一個文本文件或數(shù)據(jù)庫,具體的設置可參見文獻[2].

3.4 場景設置

腳本錄制完成后,由loadrunner的controller負責測試場景的設置.如Vuser的生成數(shù)量,持續(xù)運行時間、加壓及減壓規(guī)則等.還有其他用于腳本調(diào)試和運行控制的設置,如連接超時、運行、中斷、停止、中間檢查點、路徑轉(zhuǎn)換、監(jiān)視器設置等.這些設置都將更好地幫助模擬真實的使用環(huán)境,并且更好地理解性能測試的過程,從而找出性能瓶頸.以下為場景設置的一個例子:

(1)Vuser的數(shù)量為200

(2)每5 s增加10個Vuser

(3)Vuser登錄后,持續(xù)運行時間為5 min

(4)思考時間為15 s,并在30%~100%之間隨機

(5)每2 s退出12個Vuser

很顯然,可以設置不同策略,設置不同的場景,同一場景中也可以加載不同的事務.

3.5 腳本運行及回放

根據(jù)前面設置的場景,執(zhí)行已經(jīng)錄制好的腳本.實際上為了得到更為真實的測試結(jié)果,需要設置許多不同的場景進行測試,而錄制好的腳本不用修改或只需要簡單的微調(diào)就可以,這樣就為后續(xù)的結(jié)果分析準備了更多的數(shù)據(jù).

3.6 結(jié)果分析

Loadrunner擁有專門的分析工具Analysis,它利用數(shù)學及統(tǒng)計學原理,具有強大的數(shù)據(jù)分析能力,而且還能將數(shù)據(jù)分析的結(jié)果通過可視化的方式展示出來.圖4為Analysis界面.

圖2 錄制參數(shù)設置框

圖3 腳本錄制工具條

4 應用實例分析

下面,通過一個實際例子說明loadrunner進行性能測試并調(diào)優(yōu)的過程.筆者測試的是一個電子政務系統(tǒng).限于文章篇幅,略去了腳本錄制及修改過程.測試場景設置如下.

圖4 loadrunner Analysis主界面

4.1 事務說明

只測試了三個事務.(1)登錄事務,即后文的vuser_init_Transaction;(2)點擊一般案件登記,即后文的“點擊一般案件登記”事務;(3)一般案件的保存事務,即后文的“點擊保存”事務.同時,設計了五個場景.(1)50個用戶并發(fā);(2)100個用戶并發(fā);(3)200個用戶并發(fā)(主測試機和負載生成器各100個);(4)300個用戶并發(fā)(主測試機100個,負載生成器200個);(5)500個用戶并發(fā)(主測試機200個,負載生成器300個),共有15個事務(見表1)限于篇幅,點擊一般案件登記事務只列出了res100.lrr,而res100and100.lrr即表示主附測試機各100個Vuser,共200個用戶同時登錄,在表中省略,以此類推,點擊保存事務與此一樣.

表1 事務名稱及說明

4.2 負載方案

負載方案為同時加載所有Vuser,減壓方式為5 min內(nèi)依次減為0,實際測試過程中,得到的實際Vuser情況如表2所示.

表2 Vuser用戶數(shù)量表

從表2中可以看出,當總Vuser數(shù)量在200、300、500時,最大值并不能達到相應的數(shù)量,說明負載生成器本身無法達到在某個時間內(nèi)生成相應數(shù)量Vuser的要求.

4.3 測試結(jié)果數(shù)據(jù)及分析

測試過程中,選擇重點需要關(guān)注的平均事務響應時間、吞吐量、Vuser連接數(shù)等數(shù)據(jù)進行分析.限于篇幅,只選擇了點擊“保存”事務在不同場景下的數(shù)據(jù)進行分析.平均事務響應時間見表3.

表3 平均事務響應時間表

從表3中可以看出,平均響應時間隨著用戶數(shù)量的增加而增加,但根據(jù)最大值顯示,當用戶數(shù)達到300、500時,分別為19.778 s及21.086 s,這個值是比較大的,說明系統(tǒng)在這一壓力下已經(jīng)出現(xiàn)了一定的瓶頸.

表4 不同負載壓力下的每秒點擊數(shù)統(tǒng)計

根據(jù)表4的統(tǒng)計數(shù)據(jù),當Vuser數(shù)為300、500時,平均點擊數(shù)分別為561.984,560.913,這顯然于實際的應用不相符,說明當Vuser為500時,系統(tǒng)出現(xiàn)了明顯的瓶頸,導致服務器無法接受點擊.

由表5可知當Vuser為500時,服務器的平均吞吐量反而比Vuser為300時的平均吞吐量更少,說明系統(tǒng)出現(xiàn)了嚴重的瓶頸,已經(jīng)無法正常處理用戶請求了.

同樣的當Vuser為500時,平均連接數(shù)反而比Vuser為300時小,其最大值也只多3(見表6).其他如Vuser數(shù)為50,100,200時,系統(tǒng)的最大連接數(shù)也沒能達到,這有可能是負載生成有服務器有瓶頸,導致用戶丟失,也有可能是服務器系統(tǒng)已經(jīng)無法正常接受用戶的連接,則需要加大用戶連接數(shù).

表5 不同負載下的服務器吞吐量數(shù)據(jù)

表6 服務器連接數(shù)

4.4 結(jié)果分析

通過對平均事務響應時間、吞吐量、點擊數(shù)、服務器連接數(shù)等幾個數(shù)據(jù)的分析,基本可以判斷,在排除其他問題的前提下,該系統(tǒng)能接受的用戶并發(fā)數(shù)為300以下.從表2~6的數(shù)據(jù)可以看出,平均值、最大值都存在瓶頸,而該系統(tǒng)的最優(yōu)性能(最大能承受的并發(fā)用戶數(shù),在此條件下其他事務的執(zhí)行表現(xiàn)),則需要反復地改變測試參數(shù)進行嘗試.

就用戶登錄、案件登記、保存三個事務而言,耗時最長的是用戶登錄,這主要是因為用戶登錄需要在后臺數(shù)據(jù)庫進行查重,這不但需要進行一定的IO操作,而且不同的查重算法也會有不同的性能表現(xiàn).后來與軟件開發(fā)人員進行了研究,優(yōu)化了文件的IO操作及用戶名登錄的查重算法,使得服務器響應時間進一步減少.

在實際測試過程中,當負載運行時,監(jiān)控測試機的CPU使用率幾乎都是100%,這可能導致很多虛擬用戶無法發(fā)送出去,這一點在表2中也得到了印證.這必然會影響測試結(jié)果的準確性.同時,通過監(jiān)視網(wǎng)絡、網(wǎng)卡在測試期間的性能,但并沒有發(fā)現(xiàn)瓶頸問題.這可能是因為此次測試是在局域網(wǎng)內(nèi)測試,網(wǎng)絡速度較快.

5 小結(jié)

軟件測試對B/S結(jié)構(gòu)的系統(tǒng)具有非常重要的意義.通過將負載及壓力測試的結(jié)果與系統(tǒng)設計的性能要求進行比較,開發(fā)人員能有效地了解系統(tǒng)各模塊及整體的性能,從而為滿足預設的性能要求提供優(yōu)化參考方案.自動化性能測試工具loadrunner具有支持協(xié)議多、界面友好、圖表豐富、功能強大的特點,成為我們在進行性能測試時的有力助手.

常用的軟件性能測試方式是基于既定的軟硬件資源,設置用戶數(shù)、并發(fā)數(shù)、任務數(shù)等進行測試分析和評估的.這對于用戶數(shù)、并發(fā)數(shù)、任務數(shù)有既定目標的系統(tǒng)是適用的,即為了達到這一目標,不斷提升硬件配置,不斷進行軟件調(diào)優(yōu).但如果想得到某個現(xiàn)有系統(tǒng)(既定的硬軟件系統(tǒng))的最優(yōu)性能,則需要不斷調(diào)整參數(shù),重復嘗試,這導致工作量成倍增長.后續(xù)的研究將致力于基于既定目標的“逆向測試”,即用比較簡單的方式找到使系統(tǒng)性能表現(xiàn)最佳的用戶數(shù)、并發(fā)數(shù)、任務數(shù)等指標.

[1]中國互聯(lián)網(wǎng)絡信息中心.中國互聯(lián)網(wǎng)絡發(fā)展狀況調(diào)查統(tǒng)計報告[R].中國互聯(lián)網(wǎng)絡信息中心,2012.

[2]于涌.軟件性能測試與loadrunner實戰(zhàn)[M].北京:人民郵電出版社,2008:27-36.

[3]段念.軟件性能測試過程詳解與案例剖析[M].北京:清華大學出版社,2006:42-48.

[4]熊忠陽,李光勇,張玉芳,等.Web集群系統(tǒng)性能測試與優(yōu)化[J].計算機應用研究,2008,25(3):826-832.

[5]文俊浩,桑春艷,何盼.電子政務系統(tǒng)性能測試應用研究[J].計算機科學,2009,36(4):179-180.

[6]MENASCE D A.Load testing ofweb wite[J].IEEE InternetComputing,2002,6(4):66-75.

猜你喜歡
設置用戶系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
本刊欄目設置說明
中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
主站蜘蛛池模板: 国产aⅴ无码专区亚洲av综合网| 亚洲精品午夜天堂网页| 91香蕉视频下载网站| 这里只有精品在线播放| 无码国产伊人| 国产乱子伦视频三区| 亚洲久悠悠色悠在线播放| 日本午夜视频在线观看| 五月婷婷导航| 亚洲精品在线观看91| 国产免费久久精品99re不卡| 久久综合成人| 久久五月视频| 免费a在线观看播放| 国产又爽又黄无遮挡免费观看| 第一页亚洲| 国产精品午夜福利麻豆| 亚洲熟女偷拍| 制服丝袜国产精品| 国产精品九九视频| 韩国v欧美v亚洲v日本v| 欧美区一区| 久久综合色视频| 综合社区亚洲熟妇p| 国产人人射| 日韩福利在线观看| 免费Aⅴ片在线观看蜜芽Tⅴ | 国产精品污污在线观看网站| 欧美影院久久| 亚洲黄色成人| 国产杨幂丝袜av在线播放| 大香网伊人久久综合网2020| 亚洲欧美日韩另类在线一| 国产精品视频久| 欧美va亚洲va香蕉在线| 四虎精品黑人视频| 国产精品任我爽爆在线播放6080| 亚洲自拍另类| 国产精品综合色区在线观看| 日本亚洲欧美在线| 国产永久无码观看在线| 国产亚洲精品无码专| 99热国产这里只有精品无卡顿"| 亚洲成网777777国产精品| 不卡无码h在线观看| 中文字幕久久波多野结衣| 亚洲Av激情网五月天| 国产成人亚洲精品无码电影| 欧美成人看片一区二区三区 | 国产精品成人久久| 男女猛烈无遮挡午夜视频| 久久香蕉国产线看精品| 久草视频精品| 波多野结衣第一页| 一级福利视频| 毛片在线播放网址| 国产中文在线亚洲精品官网| 国产美女无遮挡免费视频网站| 中文字幕日韩欧美| 日本黄色不卡视频| 999国产精品永久免费视频精品久久| 国产真实二区一区在线亚洲| 亚洲色图综合在线| 亚洲a级毛片| 国产91成人| 蜜芽国产尤物av尤物在线看| 色婷婷丁香| 高清色本在线www| 国产亚洲精品91| 亚洲精品成人片在线观看 | 精品免费在线视频| 色哟哟国产精品一区二区| 国产www网站| 国产又黄又硬又粗| 日本欧美中文字幕精品亚洲| 久青草国产高清在线视频| 精品日韩亚洲欧美高清a| 国产日本欧美在线观看| 亚洲三级a| 免费在线看黄网址| 亚洲伊人久久精品影院| www欧美在线观看|