1. 程式人生 > >01.loadrunner壓測Webservice介面

01.loadrunner壓測Webservice介面

目錄

一、背景:

二、安裝:

三、建立指令碼-Webservice

四、完善指令碼

五、業務場景分析

六、建立並執行場景

七、監控場景

八、分析場景

附:


一、背景:

前後端分離專案,測試後端介面效能。因無測試團隊進行效能測試,故只能自己嘗試使用loadrunner測試。幾年前使用過loadrunner壓測webservice介面,但已遺忘,此次記錄在案備用。

二、安裝:

作業系統:Win10企業版64位。

略。

三、建立指令碼-Webservice

此處講Webservice介面測試指令碼的編寫。Http介面見文章【02.loadrunner之http介面指令碼編寫】。

1.Create/Edit Script

2.New Script

3.Web Services

4.Manage Services(管理和維護待測服務wsdl地址)

5.Import

6.填寫Url

7. Import後,Ok

8. Add Service Call(新增需要呼叫的服務)

9.填入引數,OK

返回結果在指令碼中返回:

10.Script

11.生成的指令碼

Action()
{
	web_service_call( "StepName=nethis_common_business_104",
		"SOAPMethod=NetHisWebService|NetHisWebServiceSoap|nethis_common_business",
		"ResponseParam=response",
		"Service=NetHisWebService",
		"ExpectedResponse=SoapResult",
		"Snapshot=t1543296581.inf",
		BEGIN_ARGUMENTS,
		"userId=573028BAB0E4531D",
		"userPassword=***********",
		"businessCode=JYKS01",		 
 "businessInfo=C6B7C2266A1C593A4428684A4D5579E35659E6372BFF4DBCBF1E1B25F2F9C7CA89C7D63470D10C238E1CBD42509E5C89DC6BB7D92932AD50ED3AB00CFB3D01FCA7C40CD195D3ED7AC6B353F2374A1643EB6188031F7445EF43F97214130D76AC",
		END_ARGUMENTS,
		BEGIN_RESULT,
		"nethis_common_businessResult=result",
		END_RESULT,
		LAST);
 
     lr_output_message("Result:%s",lr_eval_string("{result}"));//這裡把返回值輸出,除錯webservice的時候用 

return 0;
}

注:其中lr_output_message("Result:%s",lr_eval_string("{result}"));為手動新增,打印出參

12.執行,Run(F5),Replay Log視窗能夠看到執行結果。

四、完善指令碼

1.指令碼引數化,選中需要引數化的值,右鍵Replace with a Parameter

2.引數化列表:

3.定義事務

定義事物是為了在效能測試時更準確的統計服務的相應時間,通常將一個服務定義為一個事務。這樣在效能測試後事務相應時間就能看做一個服務的相應時間。

4.完善事務:根據介面返回的結果中狀態判斷事務的成功或者失敗

效能測試時首先要保證在服務功能執行成功的前提下統計服務的相應時間,否則統計出現邏輯錯誤的服務的響應時間沒有任何意義。

經以上操作,一個測試指令碼就寫好了,在測試前,首要要保證單指令碼中的事務成功執行在進行併發測試。一般單指令碼事務失敗是由於資料問題或者是服務邏輯錯誤導致的。

五、業務場景分析

六、建立並執行場景

1.執行loadrunner元件Controller.exe

2.點選Browse選擇指令碼資料夾

①(可選)想按百分比分佈Vuser的話,選擇Use the Percentage mode... 選項。

②(可選) 選擇要加入場景的指令碼。如果你這一步不選擇指令碼,還可以在場景中新增。

3.Ok進入場景design介面

4.新增負載生成器

①點選Load Generator按鈕 (或者Scenario->Load Generators), 在開啟的Load Generators對話方塊中點選Add並輸入你要新增的負載生成器的詳細資訊

②點選新增

注意:這裡的名稱可以是ip也可以計算機名、localhost(本機)

③點選Connect

這裡如果Temporary directory目錄為空,那麼執行時, LoadRunner儲存臨時檔案在負載生成

器上,由負載生成器變數TEMP、TMP變數指定的臨時目錄.

⑤.在場景指令碼面板中的Load Generators列中選擇用於執行指令碼的負載生成器。

注意:預設的,新增的指令碼會在場景中所有負載生成器上執行。

⑥為場景選擇所有指令碼時,在場景指令碼面板的 % 列中為每個指令碼指定一個總虛擬使用者數的百分比。 從第一個指令碼開始進行百分比的設定,然後下一個指令碼,依此類推.

5.Scenario Schedule(場景計劃設定)

①Start Time-場景開始時間設定

②Schedule by:Scenario(按場景執行)

③Run Mode-執行模式:

real-world schedule 是真實場景模式  可以通過增加ACTION來增加多個使用者
basic schedule 是我們以前用的 經典模式  只能設定一次負載的上升和下降

6.Global Schedule(全域性計劃設定)

Vuser執行方式:

①初始化方式

 

②開始方式

③持續方式

④結束方式

7.Run-Time Settings(執行時設定)

主要引數設定如下:

①RunLogic:設定Vuser迭代次數,該迭代次數在【Duration】選擇【Run until completion】時才有效,如果選擇【Run for ** days……】則以持續時間為準

②Log:輸出日誌級別。日誌輸入給我們提供了有用的資訊,但是也會影響相應時間。建議在除錯場景時輸出詳細日誌,在真正執行場景時設定無日誌輸出。

③Think Time:如果無業務需求,設定成忽略思考時間


 

8.執行-Start Scenario

① 問題1:場景執行時提示error:
You do not have a license for this Vuser type.
Please contact HP Software to renew your license.

使用的License也就是目前網路上比較通用的兩個:
global 100user
AEAMAUIK-YAFEKEKJJKEEA-BCJGI
10000 web clients
AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
具體說,是loadrunner的License管理器,只支援一個License,我先後輸入了上面的兩個License,最後實際生效的只有最後一個 10000 web clients的。
而loadrunner的不同協議是要求不同的License的,上面的10000 web clients是不能用於javaVuser的(估計其他協議也會遇到同樣問題)。
因此必須將License修改為global 100user,這樣java Vuser就可以跑起來了。注意修改License後要關閉現有的loadrunner程式然後再重新開啟,
否則License依然無效。如果需要測試不同的協議,則視具體需要自己動手設定不同的License了

再次執行出現問題2

②問題2:

Initialization failed; communication error.
Error (-81024): LR_VUG: The 'WS_SOAP' type is not supported on 'WIN32' platforms .


解決方法:

    1) 搜尋LoadRunner安裝目錄bin資料夾下有個“wlrun.exe”的檔案

    2)右鍵點選“屬性”->"相容性"->相容模式中選擇“windows xp(service pack 3)”,點選確定後。

    重新開啟Controller,即可執行成功。

再次執行,成功。

七、監控場景

監控場景我們一般關注四個指標:虛擬使用者數、響應時間、每秒點選數和每秒事務數。

1.虛擬使用者數:即同時併發的使用者數,直接體現了對待測應用的負載強度。

2.響應時間:響應時間是判斷一個被測應用系統是否存在效能瓶頸的最直觀的要素。響應時間一般包括最大響應時間和平均響應時間。響應時間包括網路的傳輸時間、WEB伺服器上的處理時間、應用伺服器的處理時間、資料庫伺服器的處理時間,不包括瀏覽器上內容渲染時間。

3.每秒點選數(HPS):用來衡量很多使用者使用客戶端進行操作,向伺服器傳送請求的效率。我們認為HPS表現的是終端使用者的整體行為,是衡量線上負載程度的一個指標。

4.每秒事務數(TPS):Transactions Per Second是估算應用系統性能的重要依據。其意義是應用系統每秒鐘處理完成的交易數量,尤其是交易系統。一般的,評價系統性能均以每秒鐘完成的技術交易數量來衡量。

八、分析場景

分析場景是為了更深入的瞭解服務執行情況,發現服務的瓶頸,並解決服務效能問題。通常,我們可以通過各指標之間的關係來判斷服務執行是否正常。例如,隨著併發使用者數的增加每秒事務數也應呈遞增趨勢,如果每秒事務數沒有隨使用者數增加,則可能在某些方面遇到瓶頸,網路傳輸能力或者資料庫連線池的限制都可能造成這種情況。

通過LoadRunner Analysis開啟字尾為.lra的結果檔案,裡面有測試服務的測試結果和各種監控指標的圖示。點選Reports能生成LoadRunner的效能測試報告。

1.場景執行後通過Analyze Results選單,開啟HP LoadRunner Analysis對執行結果進行分析

2.儲存分析結果後下次通過File-Open選單開啟

附:

https://wenku.baidu.com/view/7cf468f9a1c7aa00b52acbc4.html