徐艷
摘要:該文以web性能測試為例,通過自動化性能測試工具LoadRunner,進行了單場景和綜合場景的性能測試,并對兩種測試結果進行了分析和對比,說明了在性能測試過程中,單純的單場景的性能測試是不能找出所有潛在的性能瓶頸,綜合場景才能發(fā)現更多地問題。因此,在性能測試過程中必須根據實際需要合理設計場景。
關鍵詞:Web;性能測試;LoadRunner;單場景;綜合場景
中圖分類號:TP301文獻標識碼:A文章編號: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應用系統(tǒng)以其方便、快速,易操作等特點吸引了越來越多的參與者。同時,隨著應用領域的不斷擴大,Web應用系統(tǒng)的規(guī)模越來越龐大,而且復雜度也越來越高,如門戶網站、網上銀行、購物平臺等這些都是Web應用系統(tǒng)。這些系統(tǒng)的往往存在用戶量大、數據量大和業(yè)務邏輯復雜等特點,所以這就對系統(tǒng)的性能要求越來越高了[1]。
如何確定Web應用系統(tǒng)能在高并發(fā)的狀態(tài)下是否能夠保持一個良好的性能狀態(tài)成為Web應用系統(tǒng)上線前必須考慮的首要問題。性能測試是系統(tǒng)調優(yōu)的衡量尺度。它通過對待測試系統(tǒng)施加壓力,從而獲取待測試系統(tǒng)技術參數。性能測試作為一種測試技術,成為驗證Web應用系統(tǒng)性能的一種重要的方法和途徑。有效的Web應用系統(tǒng)性能測試也成為科研人員和性能測試工程師日益關注的焦點[2]。
該文在[3]的基礎上,增加了單功能點的測試,通過單功能點的性能測試和綜合業(yè)務性能測試的結果和性能瓶頸的分析,確定綜合業(yè)務場景性能測試的必要性和有效性。
2性能測試前期準備
性能測試的前期準備階段主要包括測試環(huán)境的布置和測試工具的選擇,主要結合具體的系統(tǒng)要求來實現。
2.1測試環(huán)境
測試環(huán)境的布置我們和[3]相同,采用了5臺裝有自動化性能測試工具LoadRunner的計算機機作為壓力機,用于模擬發(fā)起用戶的請求。其中1臺作為總控,用來控制其它4臺計算機向Web服務器發(fā)出請求。
2.2測試工具
一個好的自動化測試工具可以做到事半功倍,用于客戶端的web應用程序的性能測試工具通過可重復的、真實的測試能夠徹底地度量應用的可擴展性和性能,可以在整個開發(fā)生命周期跨越多種平臺最大執(zhí)行測試任務;可以模擬成百上千的用戶并發(fā)執(zhí)行關鍵業(yè)務而完成對應用程序的測試[4]。
該文中選擇的測試工具是LoadRunner。LoadRunner是一種預測系統(tǒng)行為和性能的工業(yè)標準級負載測試工具。該工具可以模擬上千萬用戶實施并發(fā)負載及實時性能檢測。該工具也能夠對整個企業(yè)架構進行測試,在性能測試中有很好的運用。
3性能測試設計與實現
性能測試是為了獲取軟件處理事務的速度及確定系統(tǒng)性能的瓶頸而進行的測試。這里討論并發(fā)用戶數的計算、場景設計。
通過以上單場景測試和綜合場景測試的結果,我們不難發(fā)現,在相同的并發(fā)用戶數的情況下,資產添加和資產刪除的平均響應時間大幅增加。同時,通過對數據庫的監(jiān)控,發(fā)現當資產添加和資產刪除操作同時存在的情況下(因為添加和刪除都是針對同一個表操作),數據庫中使用了大量的鎖操作,從而導致鎖等待現象比較嚴重。所以在綜合場景的性能測試情況下,資產添加和資產刪除的平均響應時間都大幅增加。
因為鎖等待現象只有在綜合場景的測試過程中才會發(fā)生,而單場景的性能測試是不會發(fā)生的,所以說明了綜合場景性能測試的重要性。
在性能測試中,要注意場景的選擇。該文主要完成了對某web系統(tǒng)的單場景和綜合場景性能測試。通過對這兩種性能測試結果的研究和分析,說明了在Web系統(tǒng)的性能測試中,只進行單場景的性能測試是不能發(fā)現所有的性能瓶頸的。綜合場景性能測試是根據實際地需求設計的,符合業(yè)務特點,利用綜合場景測試找出更多的性能瓶頸[3]。因此,在實際的web系統(tǒng)性能測試中,要合理設計和利用場景進行測試,這樣才能使性能測試更有效。