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

軟件測試在B/S架構系統中進行性能優化的應用研究

2012-11-21 10:47:12彭振龍
韓山師范學院學報 2012年6期
關鍵詞:設置用戶系統

彭振龍

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

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

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

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

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

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

并發:指有多個業務操作在同一時間發生.

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

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

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

思考時間:用戶在執行兩個連續操作期間等待的時間.

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

3 性能測試步驟

3.1 測試環境的配置

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

3.2 創建與編輯腳本

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

3.3 腳本修改

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

Web_submit_form(“register.jsp”,

圖1 loadrunner腳本錄制協議選擇框

“Snapshot=t2.inf”,

ITEMDATA,

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

LAST);

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

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

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

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

3.4 場景設置

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

(1)Vuser的數量為200

(2)每5 s增加10個Vuser

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

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

(5)每2 s退出12個Vuser

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

3.5 腳本運行及回放

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

3.6 結果分析

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

圖2 錄制參數設置框

圖3 腳本錄制工具條

4 應用實例分析

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

圖4 loadrunner Analysis主界面

4.1 事務說明

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

表1 事務名稱及說明

4.2 負載方案

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

表2 Vuser用戶數量表

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

4.3 測試結果數據及分析

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

表3 平均事務響應時間表

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

表4 不同負載壓力下的每秒點擊數統計

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

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

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

表5 不同負載下的服務器吞吐量數據

表6 服務器連接數

4.4 結果分析

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

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

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

5 小結

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

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

[1]中國互聯網絡信息中心.中國互聯網絡發展狀況調查統計報告[R].中國互聯網絡信息中心,2012.

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

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

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

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

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

猜你喜歡
設置用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 国产成人AV男人的天堂| 日韩经典精品无码一区二区| 18禁影院亚洲专区| 国产极品美女在线观看| 国产精品刺激对白在线| 欧美午夜精品| 久久综合色88| 成人一级免费视频| 精品视频在线观看你懂的一区| 成人一级免费视频| 青青国产在线| 热这里只有精品国产热门精品| 欧洲一区二区三区无码| 永久免费av网站可以直接看的| 91精品视频在线播放| 亚洲日韩精品无码专区97| 99在线观看视频免费| 成人亚洲视频| 免费a级毛片视频| 国产成人福利在线| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲欧美综合另类图片小说区| 国产人在线成免费视频| 99九九成人免费视频精品 | 青草国产在线视频| 毛片在线看网站| 亚洲成av人无码综合在线观看| 国国产a国产片免费麻豆| 国产视频大全| 国产精品香蕉在线| 狠狠亚洲婷婷综合色香| 精品自拍视频在线观看| 曰韩人妻一区二区三区| 国产欧美日韩在线一区| 国产日韩精品欧美一区灰| 免费毛片视频| www亚洲精品| 欧美a级在线| 国产一区二区三区日韩精品| 国产手机在线ΑⅤ片无码观看| 97av视频在线观看| 日本亚洲最大的色成网站www| 国产欧美在线观看精品一区污| 67194亚洲无码| 一区二区三区精品视频在线观看| 精品国产黑色丝袜高跟鞋| 谁有在线观看日韩亚洲最新视频 | 夜精品a一区二区三区| 欧美另类视频一区二区三区| a毛片在线播放| 久久精品波多野结衣| 亚洲人精品亚洲人成在线| 日韩国产一区二区三区无码| 国产后式a一视频| 一本色道久久88综合日韩精品| 美女免费黄网站| 亚洲最黄视频| 欧洲亚洲一区| 国产精品视频免费网站| 日韩国产综合精选| 日韩精品一区二区深田咏美| 亚洲愉拍一区二区精品| 91系列在线观看| 国产亚洲高清视频| 伊人成人在线| 国产91线观看| 99精品免费在线| 亚洲色成人www在线观看| 精品91视频| 又污又黄又无遮挡网站| 97青草最新免费精品视频| 国产毛片高清一级国语| 成年人国产网站| 国外欧美一区另类中文字幕| 丝袜美女被出水视频一区| 欧美黄色网站在线看| 在线观看国产精品日本不卡网| 美女无遮挡免费网站| 欧美黄色网站在线看| 精品久久高清| 国产成人91精品免费网址在线| 欧美精品1区|