徐艷
摘要:該文以web性能測(cè)試為例,通過(guò)自動(dòng)化性能測(cè)試工具LoadRunner,進(jìn)行了單場(chǎng)景和綜合場(chǎng)景的性能測(cè)試,并對(duì)兩種測(cè)試結(jié)果進(jìn)行了分析和對(duì)比,說(shuō)明了在性能測(cè)試過(guò)程中,單純的單場(chǎng)景的性能測(cè)試是不能找出所有潛在的性能瓶頸,綜合場(chǎng)景才能發(fā)現(xiàn)更多地問(wèn)題。因此,在性能測(cè)試過(guò)程中必須根據(jù)實(shí)際需要合理設(shè)計(jì)場(chǎng)景。
關(guān)鍵詞:Web;性能測(cè)試;LoadRunner;單場(chǎng)景;綜合場(chǎng)景
中圖分類號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)24-5909-04
The Research and Application of Performance Testing
XU Yan
(Suzhou Institute of Trade & Commerce, Suzhou 215009, China)
Abstract: Performance testing was did using single scenario and integrated scenario by LoadRunner to an asset management system of pow? er industry in this article. We also analyzed and compared the test results and fully described the simple performance test using single scenar? io can not identify the entire potential performance bottleneck in the process of performance testing. Therefore, integrated scenario must be designed during the performance testing.
Key words: Web; performance testing; LoadRunner; single scenario; integrated scenario
1概述
Web應(yīng)用系統(tǒng)以其方便、快速,易操作等特點(diǎn)吸引了越來(lái)越多的參與者。同時(shí),隨著應(yīng)用領(lǐng)域的不斷擴(kuò)大,Web應(yīng)用系統(tǒng)的規(guī)模越來(lái)越龐大,而且復(fù)雜度也越來(lái)越高,如門戶網(wǎng)站、網(wǎng)上銀行、購(gòu)物平臺(tái)等這些都是Web應(yīng)用系統(tǒng)。這些系統(tǒng)的往往存在用戶量大、數(shù)據(jù)量大和業(yè)務(wù)邏輯復(fù)雜等特點(diǎn),所以這就對(duì)系統(tǒng)的性能要求越來(lái)越高了[1]。
如何確定Web應(yīng)用系統(tǒng)能在高并發(fā)的狀態(tài)下是否能夠保持一個(gè)良好的性能狀態(tài)成為Web應(yīng)用系統(tǒng)上線前必須考慮的首要問(wèn)題。性能測(cè)試是系統(tǒng)調(diào)優(yōu)的衡量尺度。它通過(guò)對(duì)待測(cè)試系統(tǒng)施加壓力,從而獲取待測(cè)試系統(tǒng)技術(shù)參數(shù)。性能測(cè)試作為一種測(cè)試技術(shù),成為驗(yàn)證Web應(yīng)用系統(tǒng)性能的一種重要的方法和途徑。有效的Web應(yīng)用系統(tǒng)性能測(cè)試也成為科研人員和性能測(cè)試工程師日益關(guān)注的焦點(diǎn)[2]。
該文在[3]的基礎(chǔ)上,增加了單功能點(diǎn)的測(cè)試,通過(guò)單功能點(diǎn)的性能測(cè)試和綜合業(yè)務(wù)性能測(cè)試的結(jié)果和性能瓶頸的分析,確定綜合業(yè)務(wù)場(chǎng)景性能測(cè)試的必要性和有效性。
2性能測(cè)試前期準(zhǔn)備
性能測(cè)試的前期準(zhǔn)備階段主要包括測(cè)試環(huán)境的布置和測(cè)試工具的選擇,主要結(jié)合具體的系統(tǒng)要求來(lái)實(shí)現(xiàn)。
2.1測(cè)試環(huán)境
測(cè)試環(huán)境的布置我們和[3]相同,采用了5臺(tái)裝有自動(dòng)化性能測(cè)試工具LoadRunner的計(jì)算機(jī)機(jī)作為壓力機(jī),用于模擬發(fā)起用戶的請(qǐng)求。其中1臺(tái)作為總控,用來(lái)控制其它4臺(tái)計(jì)算機(jī)向Web服務(wù)器發(fā)出請(qǐng)求。
2.2測(cè)試工具
一個(gè)好的自動(dòng)化測(cè)試工具可以做到事半功倍,用于客戶端的web應(yīng)用程序的性能測(cè)試工具通過(guò)可重復(fù)的、真實(shí)的測(cè)試能夠徹底地度量應(yīng)用的可擴(kuò)展性和性能,可以在整個(gè)開發(fā)生命周期跨越多種平臺(tái)最大執(zhí)行測(cè)試任務(wù);可以模擬成百上千的用戶并發(fā)執(zhí)行關(guān)鍵業(yè)務(wù)而完成對(duì)應(yīng)用程序的測(cè)試[4]。
該文中選擇的測(cè)試工具是LoadRunner。LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。該工具可以模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能檢測(cè)。該工具也能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試,在性能測(cè)試中有很好的運(yùn)用。
3性能測(cè)試設(shè)計(jì)與實(shí)現(xiàn)
性能測(cè)試是為了獲取軟件處理事務(wù)的速度及確定系統(tǒng)性能的瓶頸而進(jìn)行的測(cè)試。這里討論并發(fā)用戶數(shù)的計(jì)算、場(chǎng)景設(shè)計(jì)。
通過(guò)以上單場(chǎng)景測(cè)試和綜合場(chǎng)景測(cè)試的結(jié)果,我們不難發(fā)現(xiàn),在相同的并發(fā)用戶數(shù)的情況下,資產(chǎn)添加和資產(chǎn)刪除的平均響應(yīng)時(shí)間大幅增加。同時(shí),通過(guò)對(duì)數(shù)據(jù)庫(kù)的監(jiān)控,發(fā)現(xiàn)當(dāng)資產(chǎn)添加和資產(chǎn)刪除操作同時(shí)存在的情況下(因?yàn)樘砑雍蛣h除都是針對(duì)同一個(gè)表操作),數(shù)據(jù)庫(kù)中使用了大量的鎖操作,從而導(dǎo)致鎖等待現(xiàn)象比較嚴(yán)重。所以在綜合場(chǎng)景的性能測(cè)試情況下,資產(chǎn)添加和資產(chǎn)刪除的平均響應(yīng)時(shí)間都大幅增加。
因?yàn)殒i等待現(xiàn)象只有在綜合場(chǎng)景的測(cè)試過(guò)程中才會(huì)發(fā)生,而單場(chǎng)景的性能測(cè)試是不會(huì)發(fā)生的,所以說(shuō)明了綜合場(chǎng)景性能測(cè)試的重要性。
在性能測(cè)試中,要注意場(chǎng)景的選擇。該文主要完成了對(duì)某web系統(tǒng)的單場(chǎng)景和綜合場(chǎng)景性能測(cè)試。通過(guò)對(duì)這兩種性能測(cè)試結(jié)果的研究和分析,說(shuō)明了在Web系統(tǒng)的性能測(cè)試中,只進(jìn)行單場(chǎng)景的性能測(cè)試是不能發(fā)現(xiàn)所有的性能瓶頸的。綜合場(chǎng)景性能測(cè)試是根據(jù)實(shí)際地需求設(shè)計(jì)的,符合業(yè)務(wù)特點(diǎn),利用綜合場(chǎng)景測(cè)試找出更多的性能瓶頸[3]。因此,在實(shí)際的web系統(tǒng)性能測(cè)試中,要合理設(shè)計(jì)和利用場(chǎng)景進(jìn)行測(cè)試,這樣才能使性能測(cè)試更有效。