版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、性能測試本文旨在通過介紹LR的使用過程中的常見問題,LR的具體功能介紹請參考LR 11幫助文檔。一、 測試方案在性能測試之前,需要先收集性能測試需求,根據(jù)需求制定測試計劃和測試方案。測試方案應(yīng)該包含測試目的、測試環(huán)境、測試方法、測試工具、監(jiān)控方式、測試案例、風(fēng)險分析等。測試案例模板示例:場景編號S-1場景名稱XX交易基準(zhǔn)測試/XX并發(fā)場景描述采用什么方式測試什么內(nèi)容期望結(jié)果期望系統(tǒng)達到的效果測試數(shù)據(jù)1. 對XX字段用XX個數(shù)據(jù)進行參數(shù)化;2. 數(shù)據(jù)庫存量數(shù)據(jù)XXX;場景設(shè)計1. 并發(fā)用戶數(shù)加載方式、運行時間;2. 是否增加思考時間,思考時間設(shè)置多長時間;3. 是否增加集合點;4. 超時時間設(shè)置
2、多長時間;5. packing time設(shè)置多長時間;6. 組合場景各腳本用戶數(shù)所占比例說明;測試腳本說明采用已做過基準(zhǔn)測試腳本二、 腳本準(zhǔn)備1.1. 錄制選擇腳本錄制協(xié)議,該協(xié)議是指客戶端和服務(wù)器之間的通訊協(xié)議。如下圖所示:點擊Create,彈出開始錄制對話框,如下圖所示:選擇瀏覽器、要錄制的應(yīng)用URL,點擊OK,即可啟動腳本錄制。在腳本錄制過程中可以添加注釋、集合點、事務(wù)、檢查、思考時間等。1、 對于具體應(yīng)用,可以將登陸、退出操作分別放在init、end中,可以針對不同交易創(chuàng)建多個Action。Init和end 是不進行迭代的。2、 根據(jù)測試需求,可以精簡腳本,將不需要的請求刪除。3、 將
3、關(guān)注的交易適當(dāng)添加事務(wù),事務(wù)不能包含思考時間,事務(wù)名稱要規(guī)范。4、 如果系統(tǒng)對某個交易有高并發(fā)要求,例如能夠承受1000人同時提交數(shù)據(jù),這種情況下可以將該交易定義為一個事務(wù),在該事務(wù)前加集合點。5、 腳本錄制過程中思考時間一般比較長,可以適當(dāng)?shù)臏p少思考時間,并設(shè)置腳本運行時思考時間。1.2. 參數(shù)化1、在腳本中,查找需要參數(shù)化的字段值,選擇,右鍵選擇“Replace With A Parameter”,彈出參數(shù)化窗口,如下圖所示:2、輸入?yún)?shù)化名稱,點擊Properties,打開Parameter Properties窗口。如下圖所示:3、點擊Create Table-OK-Edit with
4、 Notepad,以記事本的方式打開參數(shù)列表,輸入?yún)?shù),保存后關(guān)閉記事本。4、設(shè)置參數(shù)選取原則:Ø sequential:按照順序一行一行的讀取。每個虛擬用戶都會按照相同的順序讀取。Ø random:在每次循環(huán)里隨機的讀取一個,但在循環(huán)中保持不變。Ø unique:唯一的數(shù)。Ø same line as .:和前面定義的參數(shù)取同一行值。Ø each occurrence:在運行時,每遇到一次該參數(shù),就會取一個新值。Ø each iteration:運行時,在每次循環(huán)都取同一個值。Ø once:運行時,每次循環(huán),該參數(shù)只取一次
5、值。組合:1) sequential+each iteration:每次迭代都順序取值,當(dāng)?shù)螖?shù)大于參數(shù)取值列表時,從頭開始取值;2) sequential+each occurence:參數(shù)每出現(xiàn)一次,都順序取值,當(dāng)參數(shù)出現(xiàn)次數(shù)大于參數(shù)取值列表時,從頭開始取值;3) sequential+once:參數(shù)從取值列表取一次值,之后一直使用該值;4) random+each iteration:每次迭代都隨機取值,一次迭代中相同參數(shù)取值相同;5) random+each occurrence:參數(shù)每次出現(xiàn)都取隨機值,一次迭代中相同參數(shù)取值不同;6) random+once:隨機取一次值,一次迭代
6、中相同的參數(shù)都取一個相同的隨機值;7) unique+once iteration+when out of value:每次迭代都順序取值,當(dāng)?shù)螖?shù)大于參數(shù)的取值列表時,按照when out of value策略處理;8) unique+once occurrence+when out of value:參數(shù)每次出現(xiàn)都順序取值,當(dāng)參數(shù)出現(xiàn)次數(shù)大于取值列表時,按照when out of value策略處理;9) unique+once:參數(shù)列表取一次值,一直使用該值。10) 用戶名和密碼一一對應(yīng)的,密碼選取“same line as 用戶名”。1.3. 檢查點通常采用校驗返回報文內(nèi)容來確認(rèn)交易
7、是否成功。添加檢查點方法:獲取交易返回報文的某個字段的值,校驗該字段的返回值是否正確。示例:1、 腳本錄制完成后,運行一次腳本,查看返回報文:2、 在報文的返回消息里,查找可以進行校驗的值,注冊函數(shù),并進行校驗:1.4. 關(guān)聯(lián)當(dāng)客戶端的某個請求是隨著服務(wù)器端的響應(yīng)而動態(tài)變化的時候,需要用到關(guān)聯(lián)。關(guān)聯(lián)即在腳本回放過程中,客戶端發(fā)出的請求,通過關(guān)聯(lián)函數(shù)所定義的左右邊界值,在服務(wù)器響應(yīng)的內(nèi)容中查找,得到相應(yīng)的值,以變量形式替換錄制時的靜態(tài)值,從而向服務(wù)器發(fā)出正確的請求。例如,客戶端發(fā)出登錄頁面的請求,服務(wù)器端得到該請求后,返回登錄頁面,同時動態(tài)生成一個session ID,當(dāng)用戶輸入用戶名密碼請求登
8、錄時,該Session ID同時被發(fā)送到服務(wù)器端。如果該session ID在當(dāng)前會話中有效,那么返回登錄成功的頁面,如果不正確則登錄失敗。此時該session ID就需要進行關(guān)聯(lián)。1、自動關(guān)聯(lián):1) 腳本錄制完成后,至少回放一次;2) 按【F8】,LR自動掃描需要關(guān)聯(lián)的值;3) 根據(jù)提示進行關(guān)聯(lián);4) 關(guān)聯(lián)完成后,在腳本中增加了一個web_reg_save_param函數(shù)。5) 回放腳本,查看日志,檢查關(guān)聯(lián)是否成功。2、 手動關(guān)聯(lián):1) 錄制腳本兩遍,比較兩個腳本的不同【Tools-Compare with Scripts】;2) 定位該值是通過哪個請求返回的,然后定義參數(shù)獲取該值;3) 使
9、用參數(shù)替換掉腳本中相應(yīng)的值;4) 回放腳本,查看日志,檢查關(guān)聯(lián)是否成功。1.5. 調(diào)試1、 設(shè)置調(diào)試斷點(F9)設(shè)置調(diào)試斷點,腳本運行到斷點處,自動停止運行,可以通過查看日志了解運行情況。2、 單步執(zhí)行腳本(F10)通過單步執(zhí)行,可以看到腳本中每一個函數(shù)執(zhí)行情況,一般情況下結(jié)合斷點一起使用。3、 調(diào)試日志腳本運行過程中,可以通過運行日志了解腳本運行情況。日志分為標(biāo)準(zhǔn)日志和擴展日志。標(biāo)準(zhǔn)日志只能獲得標(biāo)準(zhǔn)的輸出信息,擴展日志可以根據(jù)配置查看參數(shù)替換、服務(wù)器返回信息和高級跟蹤信息。通過選擇Vuser->Run time settings->log->Extended log打開擴展
10、日志。4、可以在腳本中添加輸出函數(shù),在日志中查看輸出信息,協(xié)助腳本調(diào)試。1.6. 設(shè)置1、 超時:在壓測過程中,因為并發(fā)量和網(wǎng)絡(luò)原因,經(jīng)常會出現(xiàn)交易超時的錯誤,所以在進行測試過程中建議將幾個超時時間設(shè)置長一些。路徑:Vuser->Run time settings->Internet Protocal->Preference->Options2、 清緩存:在每次迭代運行前,清除瀏覽器緩存。路徑:Vuser->Run time settings->Browser->Browser Emulation3、 Think Time:為了盡可能模擬用戶實際操作情
11、況,建議添加思考時間。路徑:Vuser->Run time settings->Think Time三、 場景設(shè)計場景分為手工場景和目標(biāo)場景兩種。手工場景根據(jù)設(shè)計的負載測試性能指標(biāo),目標(biāo)場景根據(jù)設(shè)計的性能指標(biāo)測試負載。手工場景設(shè)計:設(shè)計用戶初始方式、加載方式、執(zhí)行時間、退出方式。Ø Scenario(整體規(guī)劃):多個腳本組合場景的時候根據(jù)設(shè)計的場景運行方式,所有腳本按照統(tǒng)一方式進行加壓;Ø Group(組規(guī)劃):多個腳本組合場景的時候,單獨設(shè)計每個腳本的加壓方式;Ø Real-World schedule:按照場景設(shè)計進行加壓,可以實現(xiàn)梯度加壓和峰值加
12、壓;Ø Basic schedule:按照腳本設(shè)計的迭代方式執(zhí)行,只能進行峰值加壓。通常使用Scenario + Real world schedule組合。1) 基準(zhǔn)測試:采用一個虛擬用戶迭代執(zhí)行N次,取測試結(jié)果的平均值作為基準(zhǔn)參考值。2) 單交易負載采用多個用戶并發(fā)的方式對單交易進行負載測試,分析性能指標(biāo)是否滿足需求。使用峰值加壓,可以測試特定峰值下系統(tǒng)性能情況。使用梯隊加壓,可以測試系統(tǒng)的最大并發(fā)用戶數(shù)和最佳并發(fā)用戶數(shù)。建議:在單交易負載測試時,采用峰值加壓和梯度加壓相結(jié)合的方式進行測試。3) 綜合場景負載模擬真實交易場景,分析正常業(yè)務(wù)交易量,選取日交易量最多的幾個交易,合理分
13、配并發(fā)用戶數(shù),持續(xù)運行一段時間,分析測試結(jié)果是否滿足需求。4) 穩(wěn)定性測試根據(jù)需求選取幾個常用交易,按照峰值壓力的百分比進行加壓,穩(wěn)定運行一段時間,查看系統(tǒng)運行是否正常,系統(tǒng)資源利用率是否在最佳狀態(tài)。四、 過程監(jiān)控1. LR監(jiān)控2. 系統(tǒng)資源監(jiān)控工具:Nmon五、 結(jié)果分析1、 摘要:主要關(guān)注下面幾個值:Ø 事務(wù)平均響應(yīng)時間:越小越好Ø 90%事務(wù)響應(yīng)時間:越小越好Ø 事務(wù)通過成功率:越大越好Ø 標(biāo)準(zhǔn)方差:越小越好,越穩(wěn)定2、Hits per Second(每秒點擊次數(shù))“每秒點擊次數(shù)”,即運行場景過程中虛擬用戶每秒向Web服務(wù)器提交的HTTP請求數(shù)。通過它可以評估虛擬用戶產(chǎn)生的負載量,如將其和“平均事務(wù)響應(yīng)時間”圖比較,可以查看點擊次數(shù)對事務(wù)性能產(chǎn)生的影響。通過對查看“每秒點擊次數(shù)”,可以判斷系統(tǒng)是否穩(wěn)定。系統(tǒng)點擊率下降通常表明服務(wù)器的響應(yīng)速度在變慢,需進一步分析,發(fā)現(xiàn)系統(tǒng)瓶頸所在。3、Throughput(吞吐率)“吞吐率”顯示的是場景運行過程中服務(wù)器的每秒的吞吐量。其度量單位是字節(jié),表示虛擬用戶在任何給定的每一秒從服務(wù)器獲得的數(shù)據(jù)量??梢砸罁?jù)服務(wù)器的吞吐量來評估虛擬用戶產(chǎn)生的負載量,以及看出服務(wù)器在流量方面的處理能力以及是否存在瓶頸?!巴掏侣省眻D和“點擊率”圖的區(qū)別:“吞吐率”圖,是每秒服務(wù)器
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度成都高端住宅二手房買賣合同2篇
- 2025年中國拖式鏟運機市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 二零二五年度儲罐租賃與倉儲安全培訓(xùn)合同4篇
- 2025年雙缸煎藥機項目投資可行性研究分析報告
- 2025年雨鞋模具行業(yè)深度研究分析報告
- 二零二五年度鍋爐改造項目運維管理合同3篇
- 2025年度抹灰工程施工材料采購合同范本3篇
- 2025年中國梓木邊箱柜行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025年摩托車開關(guān)項目可行性研究報告
- 2020-2025年中國復(fù)合維生素行業(yè)競爭格局分析及投資規(guī)劃研究報告
- 山東鐵投集團招聘筆試沖刺題2025
- 真需求-打開商業(yè)世界的萬能鑰匙
- 2025年天津市政集團公司招聘筆試參考題庫含答案解析
- GB/T 44953-2024雷電災(zāi)害調(diào)查技術(shù)規(guī)范
- 2024-2025學(xué)年度第一學(xué)期三年級語文寒假作業(yè)第三天
- 心律失常介入治療
- 6S精益實戰(zhàn)手冊
- 展會場館保潔管理服務(wù)方案
- 監(jiān)理從業(yè)水平培訓(xùn)課件
- 廣東省惠州市實驗中學(xué)2025屆物理高二第一學(xué)期期末綜合測試試題含解析
- 獅子王電影欣賞
評論
0/150
提交評論