• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      WEB應(yīng)用系統(tǒng)性能測試研究與實踐

      2016-08-17 03:00:58張秋鳳
      中國新通信 2016年14期
      關(guān)鍵詞:性能測試

      張秋鳳

      【摘要】 本文從業(yè)務(wù)應(yīng)用系統(tǒng)的實踐中,簡要介紹了WEB應(yīng)用系統(tǒng)性能測試的原理、指標(biāo)及測試場景的選擇等,并利用Loadrunner性能測試工具測試企業(yè)外網(wǎng)應(yīng)用系統(tǒng),模擬和預(yù)測真實環(huán)境中系統(tǒng)的壓力,查找、定位和解決系統(tǒng)存在的問題,從實際運維角度分析了 WEB 應(yīng)用系統(tǒng)的性能測試的必要性。

      【關(guān)鍵詞】 性能測試 性能測試指標(biāo) 性能測試工具 Loadrunner

      一、引言

      隨著互聯(lián)網(wǎng)上Web及其應(yīng)用程序的普及,各類基于Web的應(yīng)用系統(tǒng)以其方便、快速,易操作等特點已經(jīng)成為軟件開發(fā)的重點。系統(tǒng)能否提供穩(wěn)定快速的服務(wù)成為評價系統(tǒng)的重要指標(biāo)。針對Web系統(tǒng)的測試可以從用戶界面、系統(tǒng)功能、客戶端兼容性、系統(tǒng)性能、應(yīng)用安全、系統(tǒng)可用性、安裝等角度進(jìn)行,本文主要討論性能測試的相關(guān)內(nèi)容。

      二、Web應(yīng)用系統(tǒng)架構(gòu)

      B/S結(jié)構(gòu)的Web應(yīng)用系統(tǒng)包括客戶端(browser)/服務(wù)端(Server),該結(jié)構(gòu)的Web客戶端不需要安裝任何的程序軟件,只需要通過瀏覽器,就可以實現(xiàn)軟件的功能。在這種結(jié)構(gòu)下,用戶界面完全通過瀏覽器實現(xiàn),簡單的事務(wù)邏輯在客戶端實現(xiàn),但是主要事務(wù)邏輯則在服務(wù)器端實現(xiàn)。服務(wù)端的體系架構(gòu),一般包含表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫層。

      三、性能測試

      3.1性能測試原理

      性能測試是通過自動化的測試工具模擬正常、峰值以及異常等多種負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。通過性能測試和調(diào)優(yōu),驗證軟件系統(tǒng)是否能夠達(dá)到用戶提出的性能指標(biāo),同時發(fā)現(xiàn)軟件系統(tǒng)中存在的性能瓶頸,優(yōu)化軟件,最后起到優(yōu)化系統(tǒng)的目的。

      性能測試需要模擬多人同時訪問被測系統(tǒng)來達(dá)到驗證系統(tǒng)性能的目的。需要借助工具,或者自己搭建相應(yīng)的性能測試框架來輔助完成。用于性能測試的工具有很多,商業(yè)工具如LoadRunner,Silkperformer, Rational Robot等,開源工具如 Apache自帶的Web性能測試工具ApacheBench等。

      3.2性能測試指標(biāo)

      性能測試指標(biāo)包括客戶端交易處理指標(biāo)、服務(wù)器資源監(jiān)控指標(biāo)、數(shù)據(jù)庫資源監(jiān)控指標(biāo)、Web服務(wù)器監(jiān)控指標(biāo)、中間件監(jiān)控指標(biāo)等。客戶端交易處理指標(biāo)由性能測試工具匯總處理并以報表形式給出,其它測試指標(biāo)有的測試工具可以提供監(jiān)控接口,有的則需要針對不同的監(jiān)控對象采用各種方式采集監(jiān)控數(shù)據(jù),比如,Windows服務(wù)器可以通過操作系統(tǒng)自帶的性能監(jiān)視器采集數(shù)據(jù)。一般情況下,執(zhí)行性能測試時,至少應(yīng)該獲得客戶端交易處理性能指標(biāo)以及服務(wù)器端資源占用性能指標(biāo)。

      1) 交易處理性能指標(biāo)

      交易處理性能指標(biāo)包括并發(fā)用戶數(shù)、響應(yīng)時間、吞吐量、吞吐率、每秒點擊次數(shù)等。

      (1)并發(fā)用戶數(shù):指在同一時刻與服務(wù)器進(jìn)行交互的在線用戶數(shù)量。這些用戶的最大特征是和服務(wù)器產(chǎn)生了單向或者雙向的數(shù)據(jù)傳輸。在線用戶不一定會對服務(wù)器產(chǎn)生影響,例如正在瀏覽已經(jīng)打開的網(wǎng)頁的用戶,對服務(wù)器是沒有任何影響的。因為不同系統(tǒng)會有不同的并發(fā)特點,所以針對并發(fā)用戶數(shù)的統(tǒng)計沒有準(zhǔn)確的公式。對于已經(jīng)存在一定業(yè)務(wù)數(shù)據(jù)積累的系統(tǒng),可根據(jù)一段時間內(nèi)產(chǎn)生的業(yè)務(wù)量推測出并發(fā)用戶數(shù)量。

      (2)響應(yīng)時間:指從客戶端發(fā)起一個請求開始,到客戶端接收到服務(wù)器端返回的響應(yīng)結(jié)束所用的時間。

      對于一個三層應(yīng)用架構(gòu),響應(yīng)時間包括了網(wǎng)絡(luò)傳輸時間t1、Web服務(wù)器t2、數(shù)據(jù)庫服務(wù)器的處理時間t3,它的響應(yīng)時間為t1+t2+t3的時間之和。

      (3)吞吐量:指單位時間內(nèi)處理的客戶請求數(shù)量。從業(yè)務(wù)角度看,吞吐量可以用:請求數(shù)/秒、頁面數(shù)/秒、人數(shù)/天或處理業(yè)務(wù)數(shù)/小時等單位來衡量;從網(wǎng)絡(luò)角度看,吞吐量可以用:字節(jié)/秒來衡量。對于交互式應(yīng)用來說,吞吐量指標(biāo)反映的是服務(wù)器承受的壓力,能夠說明系統(tǒng)的負(fù)載能力。

      (4)請求間隔時間:指用戶在操作時,兩個操作之間的等待時間,在測試腳本中加入請求間隔時間(有時叫思考時間),用來真實地模擬用戶操作。

      2) 服務(wù)器端資源占用性能指標(biāo)

      測試過程中對服務(wù)器資源的監(jiān)控是非常必要的。測試過程中主要監(jiān)控CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤等的使用情況。此外,對于數(shù)據(jù)庫服務(wù)器、中間件服務(wù)器以及Web服務(wù)器等,同時監(jiān)控數(shù)據(jù)庫、中間件以及Web服務(wù)的性能指標(biāo)。

      3. 3 性能測試場景

      性能測試中涉及的基本場景有兩種,即單一業(yè)務(wù)場景和混合業(yè)務(wù)場景,這兩種業(yè)務(wù)場景缺一不可,缺少任何一種都不能準(zhǔn)確評估系統(tǒng)性能,定位系統(tǒng)瓶頸。

      1) 單一性能點,多用戶測試:測試過程可以隔離測試場景,先單獨加壓測試每種性能需求點,比如,可以單獨模擬用戶登錄的需求,建立比如100人并發(fā)登錄的場景。由于沒有一個系統(tǒng)會設(shè)計成在同一個時間內(nèi),只能進(jìn)行一種操作(實際上,在有其他的操作時,100人并發(fā)登錄的時間肯定會延長),所以此種場景并非是用戶實際使用的情況,僅僅是為了檢查這一個模塊的性能水平。

      2) 混合業(yè)務(wù)的性能測試場景:按照業(yè)務(wù)及測試模型梯度加壓,以獲取系統(tǒng)的最大處理能力,及在各種壓力下每個交易的響應(yīng)時間情況。比如登錄的同時有人在進(jìn)行瀏覽、查詢、寫入、上傳或下載操作。這一步主要是一個集成測試,考慮各個功能模塊之間是否有影響,是否有對某些資源的搶奪等問題。按照混合測試模型,在一定的壓力下長時間持續(xù)執(zhí)行測試,觀察系統(tǒng)的運行情況(主要關(guān)注系統(tǒng)是否穩(wěn)定,系統(tǒng)是否存在內(nèi)存泄漏問題等)。

      3. 4 性能測試實踐

      被測的應(yīng)用系統(tǒng)采用B/S模式,服務(wù)端采用三層體系架構(gòu),是某機(jī)關(guān)單位外網(wǎng)面向互聯(lián)網(wǎng)進(jìn)行采訪活動報名和管理的業(yè)務(wù)系統(tǒng)。測試采用商業(yè)測試工具Loadrunner,主要針對不同的并發(fā)用戶數(shù)執(zhí)行測試,考察系統(tǒng)的響應(yīng)情況。

      1) 測試工具Loadrunner

      LoadRunner是目前應(yīng)用最多的測試工具之一,能夠在實驗室模擬成千上萬用戶訪問被測系統(tǒng),檢驗被測系統(tǒng)響應(yīng)能力。通過在測試過程中獲取的信息和數(shù)據(jù)來確認(rèn)和查找軟件的性能問題,分析性能瓶頸。可適用于各類不同構(gòu)架的應(yīng)用。主要包括:腳本錄制開發(fā)工具(VuGen}、集中控制器(LR Control-ler)、結(jié)果分析器(LR Analysis)及壓力機(jī)(Load Generator等4個組件。

      2)設(shè)計測試場景

      測試應(yīng)選擇具有代表性的和使用頻繁的業(yè)務(wù)功能或使用核心技術(shù)的功能作為性能采樣點,可以由用戶指定,也可根據(jù)重要功能或關(guān)注度作出選擇。根據(jù)案例系統(tǒng)業(yè)務(wù)特點,壓力主要集中在系統(tǒng)主頁訪問,采訪報名及查詢功能頁面,以及管理后臺的統(tǒng)計報表導(dǎo)出頁面。因此測試選取三個功能點:系統(tǒng)主頁訪問、報名提交與查詢、統(tǒng)計報表管理。

      測試場景設(shè)計為單點操作性能測試和混合業(yè)務(wù)性能測試。單點操作性能測試分別針對被測三個功能點執(zhí)行,根據(jù)以往系統(tǒng)最大數(shù)據(jù)量(系統(tǒng)主頁訪問量千人級、采訪報名數(shù)千人級、統(tǒng)計報表管理百人級),再除以10為其最大并發(fā)量,設(shè)定訪問系統(tǒng)主頁、報名提交與查詢、統(tǒng)計報表管理分別測試200, 100,20個用戶并發(fā),測試時腳本請求時間間隔設(shè)置為5秒?;旌蠘I(yè)務(wù)性能測試則對三個功能點進(jìn)行混合壓力測試,并發(fā)用戶數(shù)分別設(shè)為50、100,訪問三個功能點的用戶比例為10: 5: 1,測試時腳本請求時間間隔設(shè)置為5秒。

      3)分析測試結(jié)果

      系統(tǒng)主頁訪問在200個用戶并發(fā)時平均響應(yīng)時間均小于1秒,服務(wù)器CPU利用率低于50%、可用內(nèi)存未見異常波動,該功能點的響應(yīng)情況滿足測試目標(biāo)的要求。

      統(tǒng)計報表管理在20個用戶并發(fā)時平均響應(yīng)時間均小于5秒,服務(wù)器CPU利用率低于70%、可用內(nèi)存未見異常波動,該功能點的響應(yīng)情況滿足測試目標(biāo)的要求。

      報名提交與查詢在100個用戶并發(fā)時,數(shù)據(jù)庫服務(wù)器CPU利用率平均值超過90%,事務(wù)平均響應(yīng)時間達(dá)到0.5秒;通過調(diào)整數(shù)據(jù)庫參數(shù)配置,建立數(shù)據(jù)庫索引,對數(shù)據(jù)庫進(jìn)行性能優(yōu)化后,再次對調(diào)優(yōu)后的系統(tǒng)執(zhí)行回歸測試,數(shù)據(jù)庫服務(wù)器CPU利用率平均值降低到50%,事務(wù)平均響應(yīng)時間降低到0.25秒。

      四、結(jié)束語

      為了保證Web應(yīng)用的可用性和高效性,必須對Web應(yīng)用進(jìn)行嚴(yán)格的測試。通過使用性能測試工具進(jìn)行大批量并發(fā)用戶測試,可以模擬和預(yù)測真實環(huán)境中的系統(tǒng)壓力,發(fā)現(xiàn)系統(tǒng)存在的問題。

      通過分析測試數(shù)據(jù),優(yōu)化系統(tǒng)的性能。在目前國產(chǎn)化的政策和趨勢下,政府機(jī)關(guān)等單位的等保改造和外網(wǎng)改造項目增多,為了保證業(yè)務(wù)系統(tǒng)在升級改造后的正常運行,需要結(jié)合性能測試的原理和實際情況,不僅要進(jìn)行功能測試、安全測試,同時,完成充分的性能測試是相當(dāng)重要的。

      參 考 文 獻(xiàn)

      [1]柳純錄,黃子河,陳尿萍,等.軟件評測師教程[M].北京:清華大學(xué)出版社,2005.

      [2]段念.軟件性能測試過程祥解與案例剖析[M].北京:清華大學(xué)出版社,2006.

      [3]蔡立志,楊根興.軟件系統(tǒng)性能測試方法初探[J].信息技術(shù)與標(biāo)準(zhǔn)化,2005 (7) :44 50.

      [4 ]浦云明,王寶玉.基于負(fù)載性能指標(biāo)的Web測試[J].計算機(jī)系統(tǒng)應(yīng)用,2010 , 19 (5) :220-223.

      [5]姚昕.基于Loadrunner技術(shù)的Web性能測試的研究與實現(xiàn)[D].哈爾濱:哈爾濱商業(yè)大學(xué),2013.

      [6]芮素娟,丁曉明.Web應(yīng)用性能測試進(jìn)展[J].計算機(jī)科學(xué),2006,33 (8) :278-280.

      [7]宋巍,張春柳,鄒斌亮. WEB應(yīng)用系統(tǒng)性能測試研究與實踐[J].計算機(jī)應(yīng)用與軟件,2015,32 (3) :4-6.

      猜你喜歡
      性能測試
      基于LoadRunner的網(wǎng)絡(luò)倉庫系統(tǒng)性能測試及優(yōu)化
      Hadoop性能測試自動化研究
      關(guān)于Java軟件的性能測試分析
      自動扶梯主驅(qū)動鏈條性能測試分析與潤滑保養(yǎng)
      人事薪資管理系統(tǒng)軟件測試方案研究
      車聯(lián)網(wǎng)專用短程通信技術(shù)
      關(guān)于聚羧酸系減水劑的性能論述
      論轉(zhuǎn)向系統(tǒng)匹配構(gòu)架和實踐
      淺談網(wǎng)頁游戲的測試方法
      黃麻、洋麻纖維性能研究
      中國纖檢(2015年3期)2015-03-13 18:28:41
      云安县| 芮城县| 遂川县| 龙门县| 合水县| 贵阳市| 新闻| 呼伦贝尔市| 五原县| 新田县| 德安县| 双桥区| 顺义区| 阳信县| 洪雅县| 科技| 安吉县| 神农架林区| 甘德县| 万荣县| 轮台县| 论坛| 涿州市| 湖州市| 平利县| 天气| 宁武县| 宣化县| 景谷| 方山县| 汤原县| 积石山| 木里| 若尔盖县| 栾城县| 静乐县| 金坛市| 柏乡县| 彭水| 宣恩县| 垦利县|