LR性能測試之IP欺騙

使用IP欺騙功能時,需要將系統防火牆,殺毒軟件關閉(如果有影響的話)

一、爲什麼要設置IP欺騙

1、 當某個IP的訪問過於頻繁,或者訪問量過大時,服務器會拒絕訪問請求,這時候通過IP欺騙可以增加訪問頻率和訪問量,以達到壓力測試的效果。

2、 某些服務器配置了負載均衡,使用同一個IP不能測出系統的實際性能。LR中的IP欺騙通過調用不同的IP,可很大程度上的模擬實際使用中多IP訪問和測試服務器均衡處理的能力。

 

二、IP欺騙設置方法

l  在配置前首先要確定本地IP是固定的,不能是自動獲取的

l  所添加的IP只能是局域網內的網段,即只能添加192段,127段,10段的IP地址

l  IP Spoofer 在連接 Load Generators 之前啓用

 

打開開始菜單中的LoadRunner文件夾下的Tools文件夾,點擊IP Wizard:

第一次運行IP Wizard需要選擇第一項“Create new settings”,如果以前運行過,可以選擇第二項,選擇保存好的文件;第三項用於使用IP欺騙進行測試完成後,釋放IP的。(因爲該操作會佔用大量的IP資源,可能會導致其他機器沒有IP可用的尷尬局面,使用該項,可以恢復到原來的狀況)。

這裏選擇第一項,“下一步”,出現IP Wizard的第二個窗口:

這裏輸入Web Server的IP地址(這裏輸入應用程序所在的服務器的IP地址,IP Wizard將會檢查服務器路由表是否需要更新,如果需要更新的話,將會產生相應的腳本幫助你來更新服務器路由表,如果服務器和客戶端在同一網段,這個IP可以不填)。然後“下一步”,出現嚮導的第三個窗口:

 從“From IP”文本框中輸入要使用IP範圍的第一個IP值,然後在“Numbers  to Add”輸入一個數字,表示IP範圍的值;“Submask”使用默認情況,取決於使用的那種類型的網絡IP,一般局域網內採用Class C即可。

 

建議此處選擇Save as 保存IP。保存IP列表後,下次使用時,可以直接導入IP列表;也可以直接修改保存的IP列表文件,再導入。

設置完成後,重新啓動計算機,個人嘗試重啓網卡也可。

 

重啓後,在命令行輸入ipconfig查看IP:

 

三.在場景中使用IP欺騙

1.勾選“Scenario”--“Enable IP spoofer”;

2.勾選“Tools”—“Export Mode”;

3.“Tools”—“Options”—“General”

 Multiple IP address mode選擇“IP address allocation per process”

這個選項一定要與當前場景的模式相匹配,也就是說使用本地虛擬IP測試時需要選中線程方式,使用負載生成器使用虛擬IP測試時需要選中進程方式。

4.“Diagnositics”—“Configuration”

“Web Page Diagnostics”設置爲Disable.

 

四、驗證是否生效

方法一:

在腳本中添加如下代碼:

char *ip = lr_get_vuser_ip();
if (ip)
    lr_output_message("The IP address is %s", ip);
else
    lr_output_message("IP spoofing disabled");

注:這個在generator中是不生效的,所以在回放代碼時看到的都是“IP spoofing disabled”.在Controller中設置了啓用IP欺騙後,日誌中就可以看到。如下圖:

 

 

方法二:

Controller的運行頁,運行場景,在Vusers中,狀態列中右鍵可以查看Vuser日誌,彈出的提示框頭幾行就有顯示當前使用的IP.

 

 五. 釋放IP

打開開始菜單中的LoadRunner文件夾下的Tools文件夾,點擊IP Wizard:

選中第三項:

 

 重啓計算機即可。

 

六、使用中遇到的問題

1. 啓用IP欺騙後,運行1個虛擬用戶的場景都失敗;不啓用IP欺騙後,運行場景通過;

原因:查看失敗的虛擬用戶使用的IP地址,在服務器端通過ping等命令查看網絡是否互通;如果服務器ping不通虛擬ip,說明網絡設置有問題,檢查網絡設置。

 

2.  運行開始菜單下的IP-Wizard,提示以下錯誤:

原因:如果IP設置爲“自動獲取”,在運行IP Wizard程序時會彈出錯誤提示;運行IP Wizard的機器必須使用固定的IP,不能使用動態的IP.

 

3.添加IP欺騙後使用的IP,會有提示框提示保存IP列表,確定,取消等按鈕,建議保存IP列表再確定完成。

原因:保存IP列表後,下次使用時,可以直接導入IP列表;也可以直接修改保存的IP列表文件,再導入。

 

4.添加IP欺騙和釋放IP,都要重啓機器後纔會生效

原因:重啓後,網絡配置纔會生效。

 

5.運行場景時,報錯“Error... Failed to connect to load generator.Check the output windows for more details”

解決:手工啓動agent服務。

 

6.運行場景報錯“Action.c(30):Error: Socket descriptor not found. Hint:the problem might be solved applying the following:(1) Update Run-Time Settings to Run Vusers as a process.(2)Add  the following line into mdrv.exe,[lr_socks] section:’ ExtCmdLineConc=-UsingWinInet Yes’”

解決方法:

a.根據錯誤提示,在Run-time Settings中的“Miscellaneous”項中設置“run vuser as a process”;在安裝目錄中的dat文件夾中查找mdrv.dat,找到[lr_socks]段,在最後添加“ExtCmdLineConc=-UsingWinInet Yes”一句。

b.在選擇了expert mode後,選擇option-general,選中“ip address allocation per process”

c.如果仍然報錯,在菜單欄中點擊Diagnostics—configuration項,將web page diagnositics項的disable去掉(該路徑是在lr11中的位置,若是lr8.0,則在Diagnositics—Distribution,disable Web page Disagnositics選 項).

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章