loadrunner事務、檢查點、集合點、思考時間


事務就是一段腳本語句,在進行性能測試時事務很重要,定事務時,首先在腳本中找到事務的開始和結束位置,然后分別插入一個開始事務、結束事務,這樣當腳本運行的時候,loadrunner會自動在事務的起始點計時,腳本運行到事務的結束點時計時結束,系統會自動記錄這段操作的運行時間等性能數據

注意事項:事務必須成對出現,事務的名稱一定要有意義,如開始事務lr_start_transaction("登錄bbs"),結束事務lr_end_transaction("登錄bbs", LR_AUTO),事務的名字必須相同,事務中的代碼最好只有一個請求,可以把Mode=HTTP,這樣保證只有一個請求,或者使用URL錄制,一個action盡量放一個接口,如果這個接口要依賴於登錄,可以把登錄放到init里面,如果action中的請求依賴於別的請求,別的請求也要放在acton里

 

文本檢查點函數:

從response里面找出一個固定的字符串作為檢查點,步驟是在Tree視圖里HTTP View的Response里右鍵一個固定的字符串,點擊Add Text Check Step,彈出如下的對話框,BestTest是剛才右鍵選中的,Savecount的值隨便寫,這里寫成count了,把找到次數放在count里,其他兩個勾選不勾選都無所謂,點擊OK就在腳本前面生成了檢查點函數,因為是預注冊要放在請求前面,檢查點就是判斷腳本的請求是否正確

 

為了保證請求的成功率使用檢查點,查詢操作必須使用檢查點,寫操作不需要檢查點,直接去數據庫里比對,比如寫100條帶標識位的數據到數據庫,直接去數據庫查詢就行,和錢相關以及修改操作Passed Transactions必須是100%,其他業務成功率可以是99%或99.9%或99.99%,Passed Transactions在Controller Scenario里

 

集合點的目的是加大瞬時並發的概率,所有用戶觸發集合點后請求下面的代碼,秒殺,搶購適合集合點的使用,為了使某個請求並發的概率大一些就把集合點放在請求的前面,放在事務的外面,集合點函數lr_rendezvous("login");

 

思考時間的作用:控制單位時間段內向服務器發起請求的數量,以達到控制服務器壓力的目的,從而影響測試的響應時間以及tps,lr_think_time(2)

模擬並發 vu1/vu2/vu3/vu4/vu5,tps=1,處理時間是1s,五個用戶的等待時間是0/1/2/3/4s,五個用戶的響應時間是1/2/3/4/5s

 

Run-time Settings:

Run Logic Number of Iterations設置幾次只是對Action起作用

Think Time 默認是忽略思考時間,切換到Replay think time

As recorded:按照錄制時的思考時間回放

Multiply recorded think time by:按照錄制時的思考時間的倍數回放

Use random percentage of recorded think time:按照百分比范圍

Limit think time to:最大設置幾秒,超過這個時間就不等了

 

Pacing 步長的意思

As soon as the previous iteration ends:上次迭代完成立即開始第二次迭代

After the previous iteration ends:上次迭代完成開始第二次迭代要等待fixed的時間

At fixed intervals,every多長時間:這個時間包括腳本運行時間和等待時間(provided that the previous iteration ends by that time)

 

Log 前提要勾選Enable logging,默認是標准日志,切換到擴展日志

Parameter substitution:打印出關聯、參數化的值

Data returned by server:服務器返回的結果,相當於一次debug,打印出好多內容

Advanced trace:高級追蹤

Miscellaneous

Error Handing的意思是出錯處理

Continue on error是發生錯誤繼續運行腳本

Fail open transactions on lr_error_message是打印錯誤信息

Generate snapshot on error是生成錯誤快照

 

Multithreading的意思是多線程

Run Vuser as a process是以進程模式運行虛擬用戶,進程快,默認一個進程包含50個線程,進程模擬ip,做ip欺騙用進程

Run Vuser as a thread默認是以線程模式運行虛擬用戶,線程解約資源

 

Automatic Transactions的意思是自動的事務,並發時不要勾選下面任何一個

Define each action as a transaction是定義每個action是一個事務

Define each step as a transaction是定義每一步是一個事務

 

Speed Simulation模擬網絡帶寬,2g時代,現在是5g時代,沒啥用

Browser Emulation模擬瀏覽器,只勾選下面那個,不走緩存

Proxy不走代理,No proxy

Preferences里Options只關注以下幾項,UTF-8可能會解決回放時的亂碼,錄制時options里的UTF-8解決腳本里的亂碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM