版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
8.1什么是性能測試8.1.1產(chǎn)品性能對于產(chǎn)品的性能.不同角色的關(guān)注點是不一樣的.用戶關(guān)注:快不快.管理員關(guān)注:系統(tǒng)容量、擴(kuò)展性、資源使用情況是否合理.開發(fā)人員關(guān)注:是否存在瓶頸、如何調(diào)優(yōu).8.1.2測試目的通過測試確認(rèn)軟件是否滿足產(chǎn)品的性能需求.同時發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸.起到優(yōu)化系統(tǒng)的目的.(1)評價系統(tǒng)能力:判斷系統(tǒng)是否滿足預(yù)期的性能需求.下一頁返回8.1什么是性能測試
(2)確定系統(tǒng)性能瓶頸:利用測試程序?qū)浖w或某個模塊不斷測試、不斷采樣、不斷加壓.驗證軟件的性能表現(xiàn).通過對測試結(jié)果的分析、對比等.判斷是否存在性能瓶頸.(3)系統(tǒng)調(diào)優(yōu):在發(fā)現(xiàn)系統(tǒng)瓶頸后.通過分析代碼、修改參數(shù)、調(diào)整架構(gòu)、采用新技術(shù)等.不斷進(jìn)行優(yōu)化.使軟件的性能越來越好.(4)驗證系統(tǒng)穩(wěn)定性:選取性能最優(yōu)表現(xiàn)時的壓力和配置.長時間運行測試實例.檢驗在這樣的場景下.軟件性能是否能夠一直穩(wěn)定在這樣的最優(yōu)值.并且系統(tǒng)的資源占用沒有增長的趨勢.性能是否能夠穩(wěn)定的表現(xiàn)出來.需要把這個性能表現(xiàn)放在時間軸上來衡量.上一頁下一頁返回8.1什么是性能測試
8.1.3性能測試在軟件測試的生命周期中的位置首先.軟件性能測試屬于軟件測試范疇.存在于軟件測試的生命周期中.一個軟件的生產(chǎn)過程通常遵循V形圖.如圖8-1所示.在通常的軟件生產(chǎn)周期中.先由用戶提出用戶需求或經(jīng)系統(tǒng)分析核定以后提出系統(tǒng)需求.開發(fā)人員再經(jīng)過需求分析提出軟件需求規(guī)格說明.進(jìn)行概要設(shè)計.提出概要設(shè)計說明.然后進(jìn)行詳細(xì)設(shè)計.提出詳細(xì)設(shè)計說明.最后對每個模塊進(jìn)行編碼.在測試階段.測試按照開發(fā)過程逐階段進(jìn)行驗證并分步實施.體現(xiàn)了從局部到整體、從低層到高層逐層驗證系統(tǒng)的思想.對應(yīng)軟件開發(fā)過程.軟件測試步驟分為代碼審查、單元測試、集成測試、系統(tǒng)測試.上一頁下一頁返回8.1什么是性能測試
性能測試屬于軟件系統(tǒng)級測試.其最終目的是驗證用戶的性能需求是否被滿足.在這個目標(biāo)下.性能測試還常常用來:(1)識別系統(tǒng)瓶頸和產(chǎn)生瓶頸的原因.(2)最優(yōu)化和調(diào)整平臺的配置(包括硬件和軟件)來達(dá)到最佳的性能.(3)判斷一個新的模塊是否對整個系統(tǒng)的性能有影響.瓶頸本來是指玻璃瓶中直徑較小并影響流水速度的一段.用它來比喻軟件系統(tǒng)中出現(xiàn)性能問題的節(jié)點是很形象的.比如一個典型的分布式系統(tǒng)架構(gòu)如圖8-2所示.上一頁下一頁返回8.1什么是性能測試
如果把軟件系統(tǒng)看作交通系統(tǒng).那么網(wǎng)絡(luò)就是一條條大道.客戶端、防火墻、負(fù)載均衡器、Web服務(wù)器、應(yīng)用服務(wù)器(中間件)、數(shù)據(jù)庫等各個系統(tǒng)節(jié)點就是交通要塞.客戶的請求和數(shù)據(jù)就像在道路上行駛的車輛.如果在某處發(fā)生堵塞.整個交通系統(tǒng)都會不順暢.在這個時候.就要分析是哪里出了問題.是道路不夠?qū)?還是某處立交橋設(shè)計不合理而引起堵塞等.找到問題的關(guān)鍵點.此關(guān)鍵點就是本系統(tǒng)的瓶頸.軟件系統(tǒng)也是如此.性能測試的大部分工作都是為了尋找這個瓶頸到底在何處.。上一頁返回8.2性能測試流程體系8.2.1需求分析根據(jù)需求調(diào)研.從實際業(yè)務(wù)出發(fā).分析哪些交易是每日需要處理使用的功能.確認(rèn)性能測試范圍.同時收集項目資料.對系統(tǒng)進(jìn)行分析.確認(rèn)測試的意圖.測試需求分析階段的主要任務(wù)是熟悉被測試系統(tǒng).溝通并確定測試范圍、測試目的、測試環(huán)境.及明確人員配備等.8.2.2性能測試實施方案確定明確的需求之后.接下來要做的工作就是制定性能測試實施方案.對性能測試過程中的所有需求性工作制定規(guī)劃.包括如下內(nèi)容:下一頁返回8.2性能測試流程體系
(1)性能測試的需求與目的.(2)性能測試的范圍.(3)性能測試指標(biāo)的制定(并發(fā)用戶、TPS、平均響應(yīng)時間、服務(wù)器資源利用率).(4)環(huán)境的確認(rèn)(軟/硬件配置、網(wǎng)絡(luò)狀況登錄、測試環(huán)境與生產(chǎn)環(huán)境的差異等).(5)性能數(shù)據(jù)的確認(rèn)(對于當(dāng)前數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)存儲量.新系統(tǒng)可以提供未來2~3年的估算信息.這些都需要事先準(zhǔn)備測試數(shù)據(jù)).上一頁下一頁返回8.2性能測試流程體系
(6)性能場景設(shè)計(場景是模擬現(xiàn)實生產(chǎn)環(huán)境中業(yè)務(wù)場景的.包括并發(fā)用戶數(shù)、加/減壓策略、運行時間等.設(shè)計符合需求的測試場景.需要明確對系統(tǒng)的哪些業(yè)務(wù)模塊進(jìn)行測試.如何進(jìn)行.需要設(shè)計哪些場景以及設(shè)計這些場景的目的).(7)進(jìn)度計劃(包括明確人員配備.比如是否需要開發(fā)、數(shù)據(jù)庫管理員(DBA)、運維人員等的參與協(xié)助.安排性能測試的時間等).(8)測試風(fēng)險(評估此次性能測試存在的風(fēng)險).上一頁下一頁返回8.2性能測試流程體系
8.2.3測試環(huán)境的調(diào)研和搭建(1)進(jìn)行測試環(huán)境調(diào)研時.需要調(diào)研如下內(nèi)容:①系統(tǒng)架構(gòu):確認(rèn)系統(tǒng)是如何組成的、每一層的功能是什么、與生產(chǎn)環(huán)境有多大差異.主要為后面進(jìn)行瓶頸分析服務(wù)和生產(chǎn)環(huán)境性能評估打基礎(chǔ).②操作系統(tǒng)平臺:確認(rèn)操作系統(tǒng)是哪種平臺.進(jìn)行工具監(jiān)控.③中間件:確認(rèn)中間件的種類.進(jìn)行工具監(jiān)控和瓶頸定位.④數(shù)據(jù)庫:確認(rèn)數(shù)據(jù)庫的種類.進(jìn)行工具監(jiān)控和瓶頸定位.⑤應(yīng)用:確認(rèn)啟動多少個實例、啟動參數(shù)是多少.進(jìn)行問題查找和瓶頸定位.上一頁下一頁返回8.2性能測試流程體系
(2)搭建測試環(huán)境需滿足如下規(guī)范:①測試環(huán)境架構(gòu)與生產(chǎn)環(huán)境架構(gòu)完全相同.②測試環(huán)境機(jī)型與生產(chǎn)環(huán)境機(jī)型盡量相同.③測試環(huán)境軟件版本與生產(chǎn)環(huán)境軟件版本完全相同.版本主要包括:操作系統(tǒng)版本、中間件版本、數(shù)據(jù)庫版本、應(yīng)用版本等.④測試環(huán)境參數(shù)配置與生產(chǎn)環(huán)境參數(shù)配置完全相同.參數(shù)主要包括操作系統(tǒng)參數(shù)、中間件參數(shù)、數(shù)據(jù)庫參數(shù)、應(yīng)用參數(shù).⑤測試環(huán)境基礎(chǔ)數(shù)據(jù)量與生產(chǎn)環(huán)境基礎(chǔ)數(shù)據(jù)量需在同一個數(shù)量級上(一般情況下需要考慮未來3年的數(shù)據(jù)量增長趨勢).上一頁下一頁返回8.2性能測試流程體系
⑥只能減少測試環(huán)境機(jī)器臺數(shù).并且需要同比例縮小.而不能只減少某一層的機(jī)器臺數(shù).⑦理想的測試環(huán)境配置是生產(chǎn)環(huán)境的1/2或1/4.8.2.4構(gòu)造測試數(shù)據(jù)為了更真實地模擬線上的業(yè)務(wù)數(shù)據(jù).并滿足在一段時間后的性能需求.測試環(huán)境基礎(chǔ)數(shù)據(jù)量需要跟生產(chǎn)環(huán)境基礎(chǔ)數(shù)據(jù)量保持在同一個數(shù)據(jù)量級上.一般情況下需要考慮未來3年的數(shù)據(jù)量增長趨勢.需要對測試環(huán)境進(jìn)行性能測試數(shù)據(jù)構(gòu)造.建議使用調(diào)用接口來實現(xiàn)數(shù)據(jù)構(gòu)造.上一頁下一頁返回8.2性能測試流程體系
8.2.5設(shè)計腳本腳本用來模擬生產(chǎn)環(huán)境系統(tǒng)的業(yè)務(wù)操作.腳本模擬的正確與否直接影響著系統(tǒng)的性能.模擬業(yè)務(wù)操作的時候.需要參數(shù)化數(shù)據(jù).數(shù)據(jù)量盡可能多.在關(guān)鍵地方校驗服務(wù)端的返回值.8.2.6測試和調(diào)優(yōu)(1)測試執(zhí)行:根據(jù)設(shè)計的性能測試場景進(jìn)行測試執(zhí)行.(2)測試監(jiān)控:目的是為進(jìn)行性能測試分析服務(wù).完善地對系統(tǒng)進(jìn)行監(jiān)控.需要對操作系統(tǒng)、中間件、數(shù)據(jù)庫、應(yīng)用等進(jìn)行監(jiān)控.每種類型的監(jiān)控盡量指標(biāo)全面.上一頁下一頁返回8.2性能測試流程體系
(3)瓶頸定位:對系統(tǒng)中存在的瓶頸點進(jìn)行分析.為調(diào)優(yōu)做準(zhǔn)備.系統(tǒng)的性能瓶頸點主要分布在操作系統(tǒng)資源、中間件參數(shù)配置、數(shù)據(jù)庫問題以及應(yīng)用算法上.有針對性地進(jìn)行調(diào)優(yōu).有利于系統(tǒng)性能的提升.(4)調(diào)優(yōu):目的是提升系統(tǒng)的性能.針對系統(tǒng)的“瓶頸點”對癥下藥.這需要性能測試工程師對整個被測環(huán)境的各種軟/硬件都有深入的了解.在這個過程中往往需要各個崗位人員的協(xié)助.如開發(fā)人員、數(shù)據(jù)庫管理員(DBA)、運維人員等.如果在性能測試過程中發(fā)現(xiàn)不滿足需求的缺陷.就需要對系統(tǒng)進(jìn)行調(diào)優(yōu).測試執(zhí)行、結(jié)果分析、系統(tǒng)調(diào)優(yōu)將會形成一個循環(huán)持續(xù)的過程.直到滿足客戶的需求為止.上一頁下一頁返回8.2性能測試流程體系
8.2.7提交測試報告根據(jù)測試模板.提交測試報告并作整體總結(jié)說明(經(jīng)驗、教訓(xùn)、改進(jìn)建議).上一頁返回8.3性能測試技術(shù)體系8.3.1常用術(shù)語1.并發(fā)用戶數(shù)量關(guān)于并發(fā)用戶數(shù)量.有兩種常見的錯誤觀點.一種錯誤觀點是把并發(fā)用戶數(shù)量理解為使用系統(tǒng)的全部用戶的數(shù)量.理由是這些用戶可能同時使用系統(tǒng).還有一種比較接近正確的觀點是把用戶在線數(shù)量理解為并發(fā)用戶數(shù)量.實際上.在線用戶不一定會和其他用戶發(fā)生并發(fā).例如正在瀏覽網(wǎng)頁信息的用戶.對服務(wù)器是沒有任何影響的.但是.用戶在線數(shù)量是統(tǒng)計并發(fā)用戶數(shù)量的主要依據(jù)之一.下一頁返回8.3性能測試技術(shù)體系
并發(fā)主要針對服務(wù)器而言.是否并發(fā)的關(guān)鍵是用戶的操作是否對服務(wù)器產(chǎn)生影響.因此.并發(fā)用戶數(shù)量的正確理解是.在同一時刻與服務(wù)器進(jìn)行交互的在線用戶數(shù)量.這些用戶的最大特征是和服務(wù)器發(fā)生了交互.這種交互既可以是單向傳送數(shù)據(jù)的.也可以是雙向傳送數(shù)據(jù)的.并發(fā)用戶數(shù)量的統(tǒng)計方法目前還沒有準(zhǔn)確的公式.因為不同的系統(tǒng)會有不同的并發(fā)特點.例如OA系統(tǒng)統(tǒng)計并發(fā)用戶數(shù)量的經(jīng)驗公20%).對于這個公式.沒有必要拘泥于計算出的結(jié)果.因為為了保證系統(tǒng)的擴(kuò)展空間.測試時的并發(fā)用戶數(shù)量都會稍大一些.除非要測試系統(tǒng)能承受的最大并發(fā)用戶數(shù)量.舉例說明:如果一個OA系統(tǒng)的期望用戶為1000個.只要測試出系統(tǒng)能支持200個并發(fā)用戶就可以了.上一頁下一頁返回8.3性能測試技術(shù)體系
2.響應(yīng)時間響應(yīng)時間是指從客戶端發(fā)出請求到得到響應(yīng)的整個過程的時間.這個過程從客戶端發(fā)送一個請求開始計時.到客戶端接到從服務(wù)端返回的響應(yīng)結(jié)果計時結(jié)束.在某些工具中.請求響應(yīng)時間通常會被稱為“TTLB”.即“TimeToLastByte”.意思是從發(fā)送一個請求開始.到客戶端收到最后一個字節(jié)的響應(yīng)為止所耗費的時間.響應(yīng)時間的單位一般為“秒”或“毫秒”.上一頁下一頁返回8.3性能測試技術(shù)體系
3.事務(wù)(Transaction)事務(wù)是性能測試腳本的一個重要特性.要度量服務(wù)器的性能.需要定義事務(wù).每個事務(wù)都包含事務(wù)開始和事務(wù)結(jié)束標(biāo)記.事務(wù)用來衡量腳本中一行代碼或多行代碼的執(zhí)行所耗費的時間.可以將事務(wù)開始放置在腳本中某行或者多行代碼的前面.將事務(wù)結(jié)束放置在該行或者多行代碼的后面.在該腳本的虛擬用戶運行時.這個事務(wù)將衡量該行或者多行代碼的執(zhí)行花費了多長時間.4.吞吐量吞吐量指在一次性能測試過程中網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量的總和.傳輸時間/吞吐量就是吞吐率.上一頁下一頁返回8.3性能測試技術(shù)體系
5.吞吐率(Throughput)吞吐率通常用來指單位時間內(nèi)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量.也可以指單位時間內(nèi)處理的客戶端請求數(shù)量.它是衡量網(wǎng)絡(luò)性能的重要指標(biāo).從用戶或業(yè)務(wù)的角度來看.吞吐率也可以用“請求數(shù)/秒”或“頁面數(shù)/秒”“業(yè)務(wù)數(shù)/小時或天”“訪問人數(shù)/天”“頁面訪問量/天”來衡量.例如在銀行卡審批系統(tǒng)中.可以用“千件/每小時”來衡量系統(tǒng)的業(yè)務(wù)處理能力.上一頁下一頁返回8.3性能測試技術(shù)體系
6.每秒事務(wù)數(shù)(TransactionPerSecond.TPS)每秒事務(wù)數(shù)是每秒鐘系統(tǒng)能夠處理的交易或事務(wù)的數(shù)量.它是衡量系統(tǒng)處理能力的重要指標(biāo).TPS是LoadRunner中的重要性能參數(shù)指標(biāo).7.每秒查詢率(QueryPerSecond.QPS)每秒查詢率指每秒能夠查詢的次數(shù).每秒查詢率是對一個特定的查詢服務(wù)器在規(guī)定時間內(nèi)所處理流量的衡量標(biāo)準(zhǔn).在因特網(wǎng)上.作為域名系統(tǒng)服務(wù)器的機(jī)器的性能經(jīng)常用每秒查詢率來衡量.上一頁下一頁返回8.3性能測試技術(shù)體系
8.點擊率(HitPerSecond)點擊率是指每秒鐘用戶向Web服務(wù)器提交的HTTP請求數(shù).這個指標(biāo)是Web應(yīng)用特有的.Web應(yīng)用是“請求-響應(yīng)”模式.用戶發(fā)出一次申請.服務(wù)器就要處理一次.所以“點擊”是Web應(yīng)用能夠處理的最小單位.如果把每次點擊定義為一次交易.點擊率和每秒事務(wù)數(shù)就是一個概念.不難看出.點擊率越大.對服務(wù)器的壓力也越大.點擊率只是一個性能參考指標(biāo).重要的是分析點擊時產(chǎn)生的影響.需要注意的是.這里的“點擊”不是指鼠標(biāo)的一次“單擊”操作.因為在一次“單擊”操作中.客戶端可能向服務(wù)器發(fā)出多個HTTP請求.上一頁下一頁返回8.3性能測試技術(shù)體系
9.資源利用率資源利用率指的是對不同系統(tǒng)資源的使用程度.例如服務(wù)器的CPU利用率、磁盤利用率等.資源利用率是分析系統(tǒng)性能指標(biāo)進(jìn)而改善性能的主要依據(jù).因此.它是性能測試工作的重點.資源利用率主要針對應(yīng)用服務(wù)器、Web服務(wù)器、操作系統(tǒng)、數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)等.是測試和分析瓶頸的主要參數(shù).在性能測試中.要根據(jù)需要采集的具體資源利用率參數(shù)來進(jìn)行分析.10.PVPV是PageView的縮寫.用戶通過瀏覽器訪問頁面.對應(yīng)用服務(wù)器產(chǎn)生的每一次請求.記為一個PV.在性能測試環(huán)境下.人們將這個概念作了延伸.系統(tǒng)真實處理的一個請求.被視為一個PV.即PV的概念也可用于非瀏覽器應(yīng)用的服務(wù)(如接口).上一頁下一頁返回8.3性能測試技術(shù)體系
PV峰值(PeakPV)指一天中PV?jǐn)?shù)所達(dá)到的最高值.11.成功率成功率指在一次并發(fā)測試中.成功請求次數(shù)與總請求次數(shù)的比例.成功率=成功請求數(shù)/總請求數(shù).它與失敗率對應(yīng).成功率+失敗率=100%.8.3.2測試指標(biāo)測試指標(biāo)一般分為業(yè)務(wù)指標(biāo)、資源指標(biāo)、應(yīng)用指標(biāo)、前端指標(biāo).(1)業(yè)務(wù)指標(biāo):從業(yè)務(wù)人員的角度得出來.例如:并發(fā)用戶數(shù)、每秒事務(wù)數(shù)、成功率、響應(yīng)時間.上一頁下一頁返回8.3性能測試技術(shù)體系
(2)資源指標(biāo):從運維人員的角度得出來.例如:CPU資源利用率、內(nèi)存利用率、I/O、內(nèi)核參數(shù)(信號量、打開文件數(shù))等.(3)應(yīng)用指標(biāo):從開發(fā)人員的角度得出來.例如:空閑線程數(shù)、數(shù)據(jù)庫連接數(shù)、GC/FULLGC次數(shù)、函數(shù)耗時等.(4)前端指標(biāo):從測試人員和開發(fā)人員的角度得出來.例如:頁面及頁面加載時間、網(wǎng)絡(luò)時間(DNS、連接時間、傳輸時間等).上一頁下一頁返回8.3性能測試技術(shù)體系
8.3.3測試模型1.基準(zhǔn)測試基準(zhǔn)測試(benchmarking)是一種測量和評估軟件性能指標(biāo)的活動.可以在某個時候通過基準(zhǔn)測試建立一個已知的性能水平(稱為基準(zhǔn)線).當(dāng)系統(tǒng)的軟/硬件環(huán)境發(fā)生變化之后再進(jìn)行一次基準(zhǔn)測試以確定那些變化對性能的影響.這是基準(zhǔn)測試最常見的用途.其他用途包括測定某種負(fù)載水平下的性能極限、管理系統(tǒng)或環(huán)境的變化、發(fā)現(xiàn)可能導(dǎo)致性能問題的條件等.在并發(fā)測試前.先進(jìn)行一次基準(zhǔn)測試以創(chuàng)建基準(zhǔn)線.如果沒有基準(zhǔn)線作為參照物.在事件發(fā)生之后進(jìn)行的基準(zhǔn)測試是不會有多大幫助的.目前建議1個用戶持續(xù)測試10分鐘的性能數(shù)據(jù).上一頁下一頁返回8.3性能測試技術(shù)體系
2.性能測試狹義的性能測試.是指以性能預(yù)期目標(biāo)為前提.對系統(tǒng)不斷施加壓力.驗證系統(tǒng)在資源可接受范圍內(nèi).是否能達(dá)到性能預(yù)期.例如.以實際生產(chǎn)環(huán)境進(jìn)行測試.求出最大的吞吐量與最佳響應(yīng)時間.以保證產(chǎn)品上線的平穩(wěn)、安全等.性能測試是一種“正常”的測試.主要測試正常使用時系統(tǒng)是否滿足要求.同時可能為了保留系統(tǒng)的擴(kuò)展空間而進(jìn)行的一些稍微超出“正?!狈秶臏y試.廣義的性能測試則是壓力測試、負(fù)載測試、強(qiáng)度測試、并發(fā)(用戶)測試、大數(shù)據(jù)量測試、配置測試、可靠性測試等和性能相關(guān)的測試的統(tǒng)稱.上一頁下一頁返回8.3性能測試技術(shù)體系
8.3.4業(yè)務(wù)模型一般情況下選取業(yè)務(wù)量高的、經(jīng)常使用的、有風(fēng)險的、未來有增長趨勢的業(yè)務(wù)作為系統(tǒng)的典型業(yè)務(wù).對于已經(jīng)上線的系統(tǒng)可以通過高峰時段歷史業(yè)務(wù)量和生產(chǎn)問題性能來評估.對于即將上線的系統(tǒng)可以通過調(diào)研確定業(yè)務(wù)種類、業(yè)務(wù)占比和單交易資源消耗的結(jié)果來評估.一般壓測業(yè)務(wù)模型分為單場景和混合場景.1.單場景單場景是針對單個性能測試點.構(gòu)建一個性能測試場景而進(jìn)行性能測試.單場景適用于性能測試、負(fù)載測試、壓力測試、穩(wěn)定性測試。上一頁下一頁返回8.3性能測試技術(shù)體系
2.混合場景混合場景的特征.是按照合乎實際邏輯的虛擬用戶請求、并發(fā).組合成一個混合場景.通常包含兩個或者兩個以上的腳本組.根據(jù)真實業(yè)務(wù)比例.執(zhí)行較長時間.混合場景通常在穩(wěn)定性測試、負(fù)載測試中使用.上一頁返回8.4性能測試工具介紹(LoadRunner)8.4.1下載及安裝(1)在惠普官網(wǎng)下載LoadRunner11安裝包.(2)運行“setup.exe”.單擊LoadRunner完整安裝程序.(3)安裝程序會自動檢測所需組件的安裝情況.LoadRunner運行支持的組件.一般比較重要的是VisualC++2005SP1和.NetFramework3.5.可以選擇讓它自動安裝這些程序.
下一頁返回8.4性能測試工具介紹(LoadRunner)(4)安裝完成后.LoadRunner會提示License只有10天試用期.關(guān)閉提示頁面即可啟動LoadRunner.8.4.2VUGen入門1.創(chuàng)建測試腳本當(dāng)啟動VUGen后會出現(xiàn)選擇腳本類型的對話框.在此對話框中選擇常用的腳本類型.也就是“Web(HTTP/HTML)”.以下腳本介紹以此類型為例.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)錄制普通腳本的步驟如下:啟動VUGen.在彈出的對話框中選擇需要新建的協(xié)議腳本.通過VUGen可以采用單協(xié)議或多協(xié)議模式進(jìn)行腳本的錄制.選擇單協(xié)議還是多協(xié)議.根據(jù)測試程序的實際需要而定.(1)選擇協(xié)議.(2)錄制腳本.在“URLAddress”框中輸入要錄制的頁面地址.單擊“OK”按鈕.就開始錄制.如圖8-5所示.這時LoadRunner會打開要錄制的頁面.當(dāng)在頁面中作操作時所有的操作都會被記錄下來.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(3)錄制選項配置.選擇“Tools”→“RecordingOptions”命令(圖8-6)或者選擇圖8-5所示對話框中的“Options”選項.(4)運行配置選擇“Vuser”→“Run-timeSettings”命令.彈出圖8-7所示對話框.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)2.回放腳本及調(diào)試錄制完腳本后.需要單機(jī)運行腳本.因為在錄制腳本的過程中可能會出現(xiàn)錯誤.例如:有些連接、圖片或界面無法找到.需要調(diào)試.有些地方需要參數(shù)化.只有唯一值才能執(zhí)行通過.回放腳本時可能出現(xiàn)-404、-500等錯誤頁面.發(fā)生超時等現(xiàn)象.這時需要把這些問題解決掉.單擊工具欄中的“Compile”按鈕.查看腳本中是否有語法錯誤或者亂碼.如果出現(xiàn)錯誤需要手工及時調(diào)試.如果沒有錯誤.在執(zhí)行日志中顯示“Noerrordetected”消息提示.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)然后.單擊工具欄中的“Run”按鈕.開始執(zhí)行腳本.在執(zhí)行腳本期間.同樣可以通過日志來查看發(fā)出的一些消息.選擇“View”→“OutputWindow”命令.再選擇“ReplayLog”選項卡.如圖8-8所示.單機(jī)運行測試腳本后.如果編譯通過.就會開始運行.運行結(jié)果如圖8-9所示.在每次單擊回放腳本后.都會出現(xiàn)圖8-9所示的運行結(jié)果頁.在結(jié)果頁中可以清楚地看到腳本運行的情況.其顯示整個運行過程中出現(xiàn)成功、失敗和警告情況各自的運行時間.并且記錄下整個運行開始、結(jié)束的日期和時間.單擊某個控件.在其右邊便顯示出該控件的頁面或相應(yīng)的運行步驟.如圖8-10所示.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)在此結(jié)果頁中還可以檢測腳本中控件或者其他錯誤.如果腳本回放出現(xiàn)錯誤.會在相應(yīng)控件前出現(xiàn)紅色叉號的錯誤提示.單擊其控件后.在右邊出現(xiàn)腳本未通過的具體原因.以便查找出錯位置進(jìn)行改正.腳本錄制、調(diào)試完成后.還可以通過插入事務(wù)、集合點等操作來完善、增強(qiáng)腳本.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)3.腳本關(guān)聯(lián)腳本回放過程中.客戶端發(fā)出請求.通過關(guān)聯(lián)函數(shù)所定義的左、右邊界值(也就是關(guān)聯(lián)規(guī)則).在服務(wù)器所響應(yīng)的內(nèi)容中查找.得到相應(yīng)的值.以變量的形式替換錄制時的靜態(tài)值.從而向服務(wù)器發(fā)出正確的請求.這種動態(tài)獲得服務(wù)器響應(yīng)內(nèi)容的方法稱作關(guān)聯(lián).也就是把腳本中某些寫死的數(shù)據(jù)轉(zhuǎn)變成動態(tài)的數(shù)據(jù).需要關(guān)聯(lián)的內(nèi)容:當(dāng)腳本中的數(shù)據(jù)每次回放都發(fā)生變化.并且這個動態(tài)數(shù)據(jù)在后面的請求中需要發(fā)送給服務(wù)器時.這個內(nèi)容需要通過關(guān)聯(lián)來詢問服務(wù)器.以獲得該數(shù)據(jù)的變化結(jié)果.例如:上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(1)登錄字符串:帶有會話ID或時間戳等動態(tài)數(shù)據(jù)的登錄字符串.(2)日期/時間戳:使用日期/時間戳或者其他用戶憑據(jù)的任意字符串(3)常見前綴:后跟字符串的常見前綴.語法:intweb_reg_save_param(constchar?ParamName.<listofAttributes>.LAST).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)4.腳本參數(shù)化為了實現(xiàn)單用戶多次迭代執(zhí)行腳本.VUGen提供了強(qiáng)大的參數(shù)化功能.可通過單擊菜單欄“Vuser”下的“ParameterList”命令(快捷鍵“Ctrl+L”)打開參數(shù)列表.VGU提供的參數(shù)類型(parameterstype)種類很多.每種參數(shù)取數(shù)據(jù)的方式各不相同.可根據(jù)腳本需要設(shè)定不同類型的參數(shù).常用的類型有:Date/Time(時間日期型參數(shù))、File(文件型參數(shù))、IterationNumber(迭代次數(shù)參數(shù))、RamdomNumber(隨機(jī)參數(shù))、UniqueNumber(唯一值參數(shù))、Table(表格型參數(shù))等.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)5.檢查點檢查點一般用于檢查返回值是否符合要求.可使用web_reg_find()函數(shù).該函數(shù)的作用是“在緩存中查找相應(yīng)的內(nèi)容”.1)語法intweb_reg_find(constchar?attribute_list.LAST).2)參數(shù)說明(1)attribute_list:通過“Name=Value”對來傳遞參數(shù).例如“Text=string”.Text、TextPfx、TextSfx三個必須有一個出現(xiàn).其他的屬性是可選的.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(2)Text:要搜索的字符串.字符串必須非空.以NULL結(jié)尾.可以使用textflags自定義搜索字符串.(3)TextPfx:要搜索的字符串的直接前綴.(4)TextSfx:要搜索的字符串的直接后綴.(5)Search:搜索的范圍.可選的值是Headers、Body(在請求體中搜索)、Noresource(僅在HTML請求體中搜索.不包括頭和資源)、ALL(在請求體、頭和資源中搜索).默認(rèn)值是“BODY”.(6)SaveCount:匹配的個數(shù).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(7)Fail:設(shè)置函數(shù)檢查在什么狀態(tài)下失敗.(8)ID:日志文件中標(biāo)識此函數(shù)的一個字符串.(9)RelFrameId:相關(guān)聯(lián)的FrameId.注意:此參數(shù)在GUI級別的腳本中不被支持.3)實例實例如圖8-22所示.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)6.事務(wù)lr_start_transaction與lr_end_transaction為使用最多的事務(wù)創(chuàng)造組合函數(shù).lr_start_transaction為事務(wù)開始函數(shù).lr_end_transaction為事務(wù)結(jié)束函數(shù).并負(fù)責(zé)記錄事物的運行時間.1)語法intlr_start_transaction(constchar?transaction_name).intlr_end_transaction(constchar?transaction_name.intstatus).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)2)參數(shù)說明(1)Transaction_name為事務(wù)名稱.(2)status為事務(wù)的結(jié)束狀態(tài).共有LR_PASS(通過)、LR_FAIL(失敗)、LR_AUTO(自動)、LR_STOP(暫停)幾種類型.其中LR_PASS為默認(rèn)值.如果在lr_end_transaction中沒有指定結(jié)束事務(wù)狀態(tài)是LR_AUTO.而是明確指定為LR_PASS、LR_FAIL、LR_STOP其中的一種.則事務(wù)將以最后指定狀態(tài)來結(jié)束.需要注意.事務(wù)沒有結(jié)束的時候.不能用相同的事務(wù)名稱.除非這個事務(wù)已經(jīng)通過lr_end_transaction結(jié)束.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)3)實例實例如圖8-23所示.8.4.3Controller入門運行場景描述在測試活動中發(fā)生的各種事件.一個運行場景包括一個運行虛擬用戶活動的LoadGenerator機(jī)器列表、一個測試腳本的列表以及大量虛擬用戶和虛擬用戶組.創(chuàng)建運行場景使用Controller.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)在“開始”菜單中.啟動Controller控制器.出現(xiàn)“NewScenario”窗口.如果沒有出現(xiàn).可以在菜單或者工具欄中單擊“New”按鈕.選擇測試腳本雙擊或單擊“Add”按鈕.然后單擊“OK”按鈕.進(jìn)入主界面.場景主界面分為4個部分:第一部分顯示腳本列表.第二部分為服務(wù)協(xié)議.第三部分為場景設(shè)置.第四部分為方案顯示圖.1.腳本列表模塊腳本列表界面上共有4列:(1)第1列是腳本名稱.第2列是腳本保存路徑.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)①如果要添加其他腳本.直接單擊“GroupName”列的下拉箭頭即可.②如需對加載的腳本進(jìn)行修改.可以選中需要配置的腳本并單擊鼠標(biāo)右鍵.選擇“ViewScript”命令對腳本進(jìn)行修改.要注意修改后.一定要重新加載該腳本才能確保場景執(zhí)行中的腳本是修改后的腳本.(2)第3列是設(shè)置腳本的用戶數(shù).也可通過單擊“scenario”→“convertscenariotothepercentagemode”命令選擇百分比模式進(jìn)行設(shè)置.(3)第4列是負(fù)載機(jī).可以指定該腳本執(zhí)行測試時使用的負(fù)載機(jī).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)2.場景設(shè)置模塊場景設(shè)置模塊用來設(shè)置用戶的行為方式.GlobalSchedule的設(shè)置非常重要.(1)Initialize:設(shè)置腳本運行前如何初始化每個虛擬用戶(圖8-29).包含3種方式:①同時初始化所有虛擬用戶.②每隔一段時間初始化一定數(shù)量的虛擬用戶.③在腳本運行前初始化所有虛擬用戶(通常選項).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(2)StartVusers:設(shè)置虛擬用戶加載的過程(指總的虛擬用戶數(shù).如圖8-30所示).包含2種方式:①同時加載所有的虛擬用戶.②每隔一段時間加載一定數(shù)量的虛擬用戶.用戶數(shù)呈階梯形上升.直到達(dá)到虛擬用戶的最大數(shù).(3)Duration:設(shè)置場景執(zhí)行的時間.包含2種方式:①一直運行.直到所有的虛擬用戶運行完成后.結(jié)束整個場景的運行.②設(shè)置場景持續(xù)運行時間.一般情況下在進(jìn)行壓力測試時.只需測試15~30min即可.但如果需要測試系統(tǒng)的可靠性和穩(wěn)定性時.則需要持續(xù)運行24h或3×24h.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(4)StopVusers:設(shè)置場景執(zhí)行完成后釋放虛擬用戶的策略(只有Duration設(shè)置為按指定時間運行時才需要設(shè)置該項.如圖8-32所示).包含2種方式:①當(dāng)場景運行結(jié)束后同時釋放所有的虛擬用戶.②每隔一段時間就停止一定數(shù)量的虛擬用戶.(5)StartTime:設(shè)置場景開始時間.包含3種方式:①場景立即開始.沒有延誤時間.②推遲指定的時間后才開始運行.③在指定的時間開始運行.如在晚上8點開始運行.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(6)配置負(fù)載生成器.LoadGenerator又稱負(fù)載生成器.當(dāng)控制器發(fā)出執(zhí)行命令時.LoadGenerator負(fù)責(zé)和其他負(fù)載機(jī)建立起聯(lián)系并強(qiáng)制負(fù)載機(jī)執(zhí)行.一個Controller可以通過LoadGenerator來控制多臺負(fù)載機(jī).單擊菜單欄中的“LoadGenerators”按鈕.出現(xiàn)“LoadGenerators”窗口.如圖8-34所示.添加LoadGenerator后.執(zhí)行“Connect”操作.使“Status”為“Ready”.表示該機(jī)器連接正常.如果為“Failed”.表示該機(jī)器不能連接.應(yīng)檢查原因.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(7)實時監(jiān)視圖.運行場景后.在運行界面可以看到相關(guān)的實時監(jiān)控信息.主要分為三個部分:第一部分場景用戶狀態(tài).第二部分顯示場景運行狀態(tài).第三部分顯示實時的監(jiān)視圖表.(8)場景用戶狀態(tài).ScenariosGroups中列出了所有運行腳本的虛擬用戶狀態(tài).通過表格可以清晰地了解當(dāng)前負(fù)載中各個虛擬用戶的狀態(tài).也可以通過鼠標(biāo)右鍵菜單中的功能對用戶進(jìn)行監(jiān)控和設(shè)置.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(9)場景運行狀態(tài).ScenarioStatus列出了當(dāng)前場景的狀態(tài).如圖8-37所示.通過它可以了解當(dāng)前負(fù)載的用戶數(shù)、消耗時間、每秒點擊量、事務(wù)通過失敗數(shù)、系統(tǒng)錯誤統(tǒng)計個數(shù).當(dāng)場景運行出錯時.可以單擊“Errors”后的數(shù)字.打開“Output”窗口.也可以通過“View”菜單下的“ShowOutput”命令打開窗口.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)單擊“Detail”按鈕可以查看每個錯誤的詳細(xì)信息.以便了解導(dǎo)致場景執(zhí)行錯誤的原因.很多時候會看到“-27796”之類的信息.這個編號是LoadRunner?qū)ψ约哄e誤的類型的一種重新編號定義.右側(cè)的“Help”可提供幫助.告知場景錯誤的原因及解決辦法.(10)實時監(jiān)視圖表(計數(shù)器)Controller能監(jiān)控系統(tǒng)資源并不是因為安裝LoadRunner的緣故.在沒有安裝LoadRunner前它也可以得到當(dāng)前系統(tǒng)的相關(guān)資源.AvailableGraphs計數(shù)器列表列出了所有能夠計數(shù)的計數(shù)器名稱(受到License影響).右邊是計數(shù)器圖形.雙擊左側(cè)的計數(shù)器即可替換右側(cè)選中的計數(shù)器圖形.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)8.4.4Analysis入門場景運行結(jié)束后.需要使用Analysis組件分析結(jié)果.Analysis有助于確定系統(tǒng)性能瓶頸.并可以將多個數(shù)據(jù)圖合并成一個圖.對多個圖進(jìn)行比較.從而找出數(shù)據(jù)之間的聯(lián)系.Analy ̄sis組件可以在“開始程序”菜單中啟動.也可以在Controller中啟動.整個LoadRunner結(jié)果分析的思路如下:結(jié)果摘要→并發(fā)數(shù)分析→響應(yīng)時間→每秒點擊數(shù)→業(yè)務(wù)成功率→系統(tǒng)資源→網(wǎng)頁細(xì)分圖→Web服務(wù)器資源→數(shù)據(jù)庫服務(wù)器上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)1.Analysis報告摘要(Summary)Analysis報告摘要如圖8-42所示.2.統(tǒng)計摘要(StatisticsSummary)統(tǒng)計摘要如圖8-43所示.(1)MaximumRunningVusers(最大同時運行用戶數(shù)):因為LoadRunner有加載時間和延遲時間.這個數(shù)字通常比在場景中設(shè)置的并發(fā)用戶數(shù)小.(2)TotalThroughput(bytes)(網(wǎng)絡(luò)流量):場景運行過程中產(chǎn)生的全部網(wǎng)絡(luò)流量.單位是字節(jié).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(3)AverageThroughput(bytes/second)(網(wǎng)絡(luò)流率):平均網(wǎng)絡(luò)流率.單位是字節(jié)/秒.(4)TotalHits(總請求數(shù)):場景運行過程中發(fā)生的HTTP請求總數(shù).(5)AverageHitsperSecond(平均每秒請求數(shù)):總請求數(shù)除以運行時間的值.(6)ViewHTTPResponsesSummary(查看HTTP響應(yīng)的摘要):這是一個鏈接頁面.統(tǒng)計了HTTP響應(yīng)信息.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)3.事務(wù)統(tǒng)計摘要(TransactionSummary)事務(wù)統(tǒng)計摘要如圖8-44所示.(1)Transactions:包括總的通過事務(wù)數(shù)(TotalPassed)、總的失敗事務(wù)數(shù)(TotalFailed)、總的停止事務(wù)數(shù)(TotalStopped).(2)AverageResponseTime:事務(wù)的平均響應(yīng)時間.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(3)Std.Deviation(標(biāo)準(zhǔn)方差):方差是描述一組數(shù)據(jù)偏離其平均值的情況.從數(shù)據(jù)意義上看.方差值越大.這組數(shù)據(jù)就越離散.波動性也越強(qiáng).方差越小.這組數(shù)據(jù)就越聚合.波動性也就越小.所以在事務(wù)統(tǒng)計信息中方差越小.這組數(shù)據(jù)越好.越有說服力.(4)90Percent:在Controller運行場景時.并不會顯示這個值.因為它是對一系列數(shù)據(jù)進(jìn)行計算的結(jié)果.它是90%事務(wù)所消耗的時間.比如上面執(zhí)行了111個事務(wù).90%就是其中99個事務(wù)的平均時間.通常這個指標(biāo)比單純的平均值更能說明系統(tǒng)問題.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)4.HTTP響應(yīng)統(tǒng)計摘要(HTTPResponsesSummary)HTTP響應(yīng)統(tǒng)計摘要如圖8-45所示.此視圖只有WebVuser才有.它反映了Web服務(wù)器的處理情況.HTTP返回碼為200.是正常狀態(tài).5.虛擬用戶圖(RunningVusers)虛擬用戶圖如圖8-46所示.該圖顯示的是當(dāng)前場景下并發(fā)用戶隨時間的增加或減少時.虛擬用戶的情況.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)6.事務(wù)圖、(TransactionSummary)事務(wù)圖如圖8-47所示.該圖顯示的是場景運行的所有事務(wù)的信息.7.每秒點擊圖(HitsperSecond)每秒點擊圖如圖8-48所示.該圖顯示的是場景運行期間.隨時間變化的每秒點擊數(shù).比如在開始時一共有大約7個請求在同一秒發(fā)起.每秒點擊圖在性能出現(xiàn)瓶頸時會有一個較大的波動.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)8.平均事務(wù)響應(yīng)時間圖(AverageTransactionResponseTime)平均事務(wù)響應(yīng)時間圖如圖8-49所示.該圖顯示的是所有事務(wù)在場景運行期間隨時間變化的響應(yīng)時間情況.從該圖中能看到整體的響應(yīng)時間變化情況.以及在某一個點的響應(yīng)時長.可以將它和每秒點擊圖結(jié)合著看.通常響應(yīng)時間長則同一時間的點擊數(shù)會較少.而響應(yīng)時間太長則表明在某個時間點存在性能問題.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)9.網(wǎng)頁細(xì)分圖(WebPageDiagnostics)網(wǎng)頁細(xì)分圖顯示每個Web頁面及其組件的相關(guān)下載時間和大小.主要用來評估頁面內(nèi)容是否影響事務(wù)響應(yīng)時間(只與事務(wù)響應(yīng)時間有關(guān)).通過與不同的事務(wù)圖關(guān)聯(lián).可以分析網(wǎng)頁下載慢或中斷連接等問題的原因.從而確定系統(tǒng)性能問題是出現(xiàn)在網(wǎng)絡(luò)還是服務(wù)器.再進(jìn)一步而分析是哪個網(wǎng)頁、什么因素導(dǎo)致的.網(wǎng)頁細(xì)分圖的功能如下:(1)頁面組件細(xì)分圖:顯示每個網(wǎng)頁及其組件的平均下載時間(以秒為單位).查看所選擇頁面中哪個元素所占的平均下載時間最長.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(2)頁面組件細(xì)分圖(隨時間變化):此圖適用于客戶端下載組件較多時的頁面分析.通過分析下載時間發(fā)現(xiàn)哪些組件不穩(wěn)定或比較耗時.它是隨整個場景運行的時間變化的.(3)頁面下載時間細(xì)分圖:根據(jù)DNS解析時間、連接時間、第一次緩沖時間、SSL握手時間、接收時間、FTP驗證時間、客戶端時間和錯誤時間對每個組件進(jìn)行分析.它可以確認(rèn)在網(wǎng)頁下載時響應(yīng)時間緩慢是由網(wǎng)絡(luò)錯誤引起的.還是由服務(wù)器錯誤引起的.(4)頁面下載時間細(xì)分圖(隨時間變化):顯示選定網(wǎng)頁下載時間細(xì)分.從中能看到頁面各個元素在壓力測試過程中的下載情況.如果某個頁面打開速度慢.通過對此圖分析.可以清楚地看到打開該頁面的時間主要消耗在什么地方.然后針對此問題進(jìn)行優(yōu)化.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(5)第一次緩沖時間細(xì)分圖:第一次緩沖時間指成功收到從Web服務(wù)器返回的第一次緩沖之前的這段時間內(nèi).每個頁面組件的相關(guān)服務(wù)器和網(wǎng)絡(luò)時間(以秒為單位).此圖對分析頁面的時間很重要.其中.網(wǎng)絡(luò)時間為從發(fā)送第一個HTTP請求那一刻直到收到確認(rèn)為止所經(jīng)過的平均時間.服務(wù)器時間是指從收到初始HTTP請求確認(rèn)直到成功收到來自Web服務(wù)器的第一次緩沖為止所經(jīng)過的平均時間.(6)第一次緩沖時間細(xì)分圖(隨時間變化):第一次緩沖時間是在客戶端與服務(wù)器建立連接后.從服務(wù)器發(fā)送第一個數(shù)據(jù)包開始計時.數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)傳送到客戶端后.再到瀏覽器收到第一個緩沖數(shù)據(jù)所用的時間.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)10.Analysis結(jié)果分析實例(1)首先打開頁面分解總圖(WebPageDiagnostics).如圖8-50所示.在左邊“BreakdownTree”下.列出了腳本中添加的所有事務(wù)名稱.通常來說.主要關(guān)注需要并發(fā)的系統(tǒng)業(yè)務(wù)部分.來看“login”部分.“DownloadTime”(下載時間)主要由兩個頁面導(dǎo)致.其中“Receive”部分占用的時間最長(“Component”部分不在這里看.因為在這里看不夠直觀).上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)(2)接著打開頁面組件細(xì)分圖(PageComponentBreakdown).找出所選擇頁面中哪個元素所占的平均下載時間較多(其實就上面的兩個.只不過這里是用餅圖來展示比較直觀).(3)打開頁面下載時間細(xì)分圖(PageDownloadTimeBreakdown).根據(jù)DNS解析時間、連接時間、第一次緩沖時間、SSL握手時間、接收時間、FTP驗證時間、客戶端時間和錯誤時間的組成在所選擇的頁面上的分布情況.確定這個頁面下載時間較長的響應(yīng)時間是由網(wǎng)絡(luò)錯誤引起.還是由服務(wù)器錯誤引起的.ReceiveTime時間最長.初始判斷是由網(wǎng)絡(luò)問題引起的.上一頁下一頁返回8.4性能測試工具介紹(LoadRunner)但也有可能是瀏覽器請求的問題.再看頁面下載細(xì)分圖(隨時間變化).在整個login場景中該頁面元素一直在下載.這極有可能是網(wǎng)絡(luò)問題了.另外一點.若頁面緩存做得好.是不會一直下載的.(4)最后打開一個非常重要的圖.即第一次緩沖時間細(xì)分圖(TimetoFirstBufferBreak ̄down).如圖8-54所示.第一次緩沖時間細(xì)分圖進(jìn)行對比結(jié)果是否一致.因為第一次緩沖時間細(xì)分圖也可以確定該頁面的響應(yīng)時間是由網(wǎng)絡(luò)錯誤引起的.還是由服務(wù)器錯誤引起的.由此圖可以看到.大部分的時間消耗在“NetworkTime”.上一頁返回8.5性能監(jiān)控分析工具介紹8.5.1資源監(jiān)控工具nmonnmon是收集Linux主機(jī)的性能數(shù)據(jù)并進(jìn)行分析的工具.簡單易用.可以在一個屏幕上顯示所需監(jiān)控的資源.并動態(tài)地對其進(jìn)行更新.它主要有兩個工具組成.一個是nmon采集數(shù)據(jù)的工具.一般名稱為“nmon_??”.例如nmon_linux_x86_64.另一個是分析結(jié)果的工具.它是一個Excel文件.名稱為“nmonanalyserv33A.xls”.可以把監(jiān)控的結(jié)果文件轉(zhuǎn)換成Excel文件.方便分析系統(tǒng)的各項資源占用情況.下一頁返回8.5性能監(jiān)控分析工具介紹1.安裝可通過IBM官網(wǎng)免費下載或者通過yum命令直接安裝.下載安裝:(1)#wgethttp://sourceforge.net/projects/nmon/files/download/nmon_linux_x86_64/download//通過wget下載(2)#unzipnmon_linux_x86_64//解壓上一頁下一頁返回8.5性能監(jiān)控分析工具介紹2.運行(1)#chmodu+xnmon_linux_x86_64//設(shè)置文件執(zhí)行權(quán)限(2)#./nmon_linux_x86_64//運行nmon工具在程序運行界面上.依次輸入“c”“m”“d”“n”.即可在同一屏幕上實時監(jiān)控服務(wù)器的CPU、內(nèi)存、磁盤以及網(wǎng)絡(luò)的情況.如圖8-55所示.上一頁下一頁返回8.5性能監(jiān)控分析工具介紹3.關(guān)注指標(biāo)(1)CPU:user%、sys%、wait%.(2)Memory(內(nèi)存):free、cached、buffer.(3)NetWork(網(wǎng)絡(luò)):Recv=KB/s、Trans=KB/s.(4)Disk(磁盤):busy%.4.數(shù)據(jù)采集#./nmon_linux_x86_64-Ftest001.nmon-s3-c5000參數(shù)說明:上一頁下一頁返回8.5性能監(jiān)控分析工具介紹(1)-F:指定數(shù)據(jù)采集文件保存路徑及文件名.(2)-s:指定數(shù)據(jù)采集頻率.穩(wěn)定性測試時采集頻率可適當(dāng)放低.如10s.(3)-c:采集次數(shù).不建議超過5000次.采集文件太大可能會打不開.5.生成圖形化結(jié)果(1)#sztest001.nmon//通過sz將采集文件復(fù)制到本機(jī)或使用WinSCP客戶端工具.(2)在本機(jī)打開結(jié)果分析工具“nmonanalyserv33A.xls”.在“安全警告”中選擇“啟用內(nèi)容”→“啟用此內(nèi)容”命令.上一頁下一頁返回8.5性能監(jiān)控分析工具介紹也可以更改Excel宏的安全設(shè)置:選擇“MicrosoftOffice”→“Excel”選項→“信任中心”→“信任中心設(shè)置”→“宏設(shè)置”→“啟用所有宏”命令.修改后.重新打開“nmonanalyserv33A.xls”.單擊“Analysenmondata”按鈕.選擇所采集的數(shù)據(jù)文件“test001.nmon”.即可顯示圖形化的監(jiān)控結(jié)果.8.5.2Java分析工具JProfilerJProfiler是一個全功能的Java剖析工具.專用于分析J2SE和J2EE應(yīng)用程序.它把CPU、執(zhí)行緒和內(nèi)存的剖析組合在一個強(qiáng)大的應(yīng)用中.上一頁下一頁返回8.5性能監(jiān)控分析工具介紹JProfiler可提供許多IDE整合和應(yīng)用服務(wù)器整合用途.JProfiler直覺式的GUI可以找到效能瓶頸、抓出內(nèi)存漏失(memoryleaks).并解決執(zhí)行緒的問題.它讓用戶可以對堆遍歷器作資源回收器的rootanalysis.可以輕易找出內(nèi)存溢出.heap快照(snapshot)模式讓未被參照(reference)的對象、稍微被參照的對象.或在終結(jié)(finalization)隊列的對象都被移除.“整合精靈”可以剖析瀏覽器的Java外掛功能.上一頁下一頁返回8.5性能監(jiān)控分析工具介紹JProfiler的安裝過程如下:(1)環(huán)境信息:①JDK1.7.②JProfiler9.1.③Tomcat7.(2)遠(yuǎn)程Tomcat服務(wù)器(Linux)的安裝及配置.①下載:wgethttp://download-keycdn.ej-technologies.com/jprofiler/jprofiler_linux_9_1.tar.gz上一頁下一頁返回8.5性能監(jiān)控分析工具介紹②解壓:tar-xzvfjprofiler_linux_9_1.tar.gz(3)配置環(huán)境變量.①修改“/etc/profile”系統(tǒng)配置文件:JPROFILER_HOME=/opt/jprofiler9/bin/linux-x64exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JPROFILER_HOME②使配置文件生效:source/etc/profile上一頁下一頁返回8.5性能監(jiān)控分析工具介紹(4)本地Windows安裝.①直接運行下載的“jprofiler_windows-x64_9_1.exe”.②單擊“Next”按鈕.直到輸入注冊碼的地方(注冊碼略).③安裝到最后.運行JProfiler.(5)服務(wù)端運行.在本機(jī)生成“startup_jprofiler.sh”腳本.上一頁下一頁返回8.5性能監(jiān)控分析工具介紹至此.“startup_jprofiler.sh”已經(jīng)生成.生成位置與選擇的“startup.sh”在同一個目錄.把“startup_jprofiler.sh”上傳到遠(yuǎn)程Linux服務(wù)器的“Tomcat/bin”目錄下.生成“startup_jpofiler.sh”后.直接運行即可.默認(rèn)監(jiān)控端口為8849.注意:由于服務(wù)器防火墻權(quán)限的影響.運行后應(yīng)確認(rèn)監(jiān)控端口是否正確啟動.(1)在本地啟動JProfiler監(jiān)控.單擊“OK”按鈕.就可以查看服務(wù)器Tomcat的各種情況了.(2)結(jié)果剖析.上一頁返回8.6案例分享:性能測試與分析8.6.1需求分析1.測試目的本次性能測試的主要目的在于:(1)對課件功能模塊進(jìn)行性能摸底.(2)測試課件功能模塊的穩(wěn)定性.2.測試范圍本次性能測試的業(yè)務(wù)選擇覆蓋了課件功能模塊的各關(guān)鍵接口:(1)添加課件.(2)刪除課件.下一頁返回8.6案例分享:性能測試與分析
(3)修改課件.(4)查詢課件.3.測試目標(biāo)(1)主要獲得或關(guān)注的性能指標(biāo)如下:①響應(yīng)時間.②每秒事務(wù)數(shù)(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 給水源水保護(hù)與開發(fā)方案
- 土方施工現(xiàn)場基礎(chǔ)設(shè)施建設(shè)方案
- 建筑物外立面維修施工方案
- 橋梁施工機(jī)械設(shè)備配置方案
- 金礦采選尾工程技術(shù)方案
- 高中數(shù)據(jù)驅(qū)動教學(xué)分析系統(tǒng)
- 聲音的產(chǎn)生與傳播八年級物理教學(xué)
- 保溫建材創(chuàng)業(yè)計劃書創(chuàng)新課件解析3
- 四川中煙工業(yè)有限責(zé)任公司2026年度員工招聘備考題庫含答案
- 水資源利用及節(jié)約方案
- 慢性阻塞性肺疾病患者非肺部手術(shù)麻醉及圍術(shù)期管理的專家共識
- 燈謎大全及答案1000個
- 中建辦公商業(yè)樓有限空間作業(yè)專項施工方案
- 急性胰腺炎護(hù)理查房課件ppt
- 初三數(shù)學(xué)期末試卷分析及中考復(fù)習(xí)建議課件
- GB/T 4074.8-2009繞組線試驗方法第8部分:測定漆包繞組線溫度指數(shù)的試驗方法快速法
- GB/T 40222-2021智能水電廠技術(shù)導(dǎo)則
- 第十章-孤獨癥及其遺傳學(xué)研究課件
- 人教版四年級上冊語文期末試卷(完美版)
- 防空警報系統(tǒng)設(shè)計方案
- 酒店管理用水 酒店廚房定額用水及排水量計算表分析
評論
0/150
提交評論