先記錄一下在進行華安基金壓力測試的過程中遇到的幾個問題。
1、 問題:多次錄製登錄腳本(vuser_init)的時候報錯,所以直接略過init錄製action了,腳本錄製完成以後,回放腳本成功。但是在進行壓測的時候接口一直沒有壓力,也就是沒有調接口數據。
解決辦法:考慮是因爲沒有錄製init腳本的原因,找了另外一臺機器,重新錄製了init腳本,複製粘貼過來,再次執行的時候問題就解決了。
Ps:這個錯誤可能比較低級,呵呵。
2、 在錄製腳本的過程中如果遇到多個動作的連續執行,爲了方便給每個動作命名,可以在錄製腳本之前建立多個action,例如jingzhiquery,jijinquery…在錄製的時候把每個動作分別錄製到對應的action之中,那麼就可以更清晰地在對應action之中命名各動作了。
3、 問題:壓力測試結果分析報告中某個事務的響應時間長
如果排除系統性能的問題,還有就是執行壓力測試的時間過短,因爲運行的結果得到的大部分是平均值,因此測的時間越長這個數據便越精確,如果運行的時間太短,就會導致沒有取到平均值,可能只是某個執行過程的時間。
下面是做了中融系統的一個簡單的呼入電話查詢的壓力測試,熟悉了一下壓力測試的流程,希望各位MM給我指導哦。
一、制定壓力測試計劃
制定測試方案:呼入電話查詢方案
設置場景:
測試序號 |
1 |
腳本名稱 |
呼入電話查詢 |
|
方案概述 |
查詢呼入電話記錄 |
|||
腳本描述 |
操作步驟 |
操作 1. 用戶登錄系統 2. 進入呼入電話頁面 3. 用戶輸入查詢條件 4. 進行呼入電話查詢 |
||
參數配置 |
數據庫連接數:50 |
|||
測試記錄數據 |
每分鐘執行操作數 出現錯誤時需要記錄:出錯時間、所執行的操作 |
|||
測試時間30分鐘,座席數50
二、錄製腳本
啓動LoadRunner中的Virtual User Generator,開始錄製呼入電話查詢的腳本。
在錄製腳本的時候有幾點需要注意:
1、 登錄的腳本會錄在init裏,呼入電話查詢的動作要錄在action裏;
2、 腳本錄製完成後,爲了將壓力測試的時間都放在事務上,去掉lr_think_time;
3、 在腳本中找到要執行壓測的呼入電話查詢的動作,重新命名,例如“callin-query”;然後對該動作插入事務(lr_start_transaction;lr_end_transaction);
4、如果想要對該查詢動作併發執行,可以插入集合點(lr_rendezvous);
5、回放腳本,如果成功,說明腳本錄製沒有問題。
三、執行腳本
根據客戶對系統的需求進行壓力測試,例如客戶有30個坐席,需要滿足30個坐席同時在線進行查詢,那麼我們就可以模擬50個用戶同時在線查詢的場景,然後進行參數設置:
首先在ramp標籤頁下設置每15秒增加5個用戶;最終達到50個用戶同時在線
在duration標籤頁下設置持續30分鐘;
在ramp down標籤頁下設置每15秒減少5個用戶,或者load all Vusers simultaneously;
四、結果分析
主要是各事務的響應時間,另外還可以監控應用服務器和數據庫。
——春麗