解決 Lr[10061]Connection refused

在用loadrunner進行併發測試時,[10061]Connection refused,是服務器拒絕,一種方案是調整服務器的請求數。但是,有時候是服務器拒絕對同一個ip的多次請求,這時調整服務器不好實現,可以財用ip欺騙來防止10061的產生,這也是本文討論的主題。

Ip欺騙的步驟:

1。添加ip,2種方法:1種方法是使用loadrunner的Ip Wizard進行----打開ip wizard後按提示進行操作,沒什麼問題,只是需要重起下機器(小技巧:如果你在使用前,把loadrunner關閉,把agent關閉,把網卡禁用,然後使用Ip wizard後再去啓動網卡、agent,則可以不重起機器);還一種方法是自己手動添加,打開本地連接,打開Tcp/ip設置(我相信能看到這的人是打開這些是不成問題的),打開高級,然後添加ip。

2。在Controller裏設置ip欺騙:在Controller中點擊菜單scenario,選擇"Enable Ip Spoofer",這就打開了Ip欺騙,對於Ip欺騙的設置,先在菜單Tools下選上"Expert Mode"選項用於打開專家模式(感覺沒有什麼特殊,無非就是是後面的Options彈出的對話框多了幾個選項卡),然後選擇Tools下的Options,打開對話框,找到General,這時可以選擇Ip欺騙的方式:爲每個Process還是Thread產生ip。

3。設置場景時,多設計幾組VUser(可以是針對一個叫本,每組Vuser使用一個ip,這樣又多少組就是用多少組ip)。

Ok,運行場景吧,這時發出去的包是進行Ip欺騙的,想要驗證的話,不妨把下面的代碼放入你的叫本任意位置(當然是要能執行到的位置,不妨放在Action的開始部分,對腳本的運行沒有影響):

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

然後在運行場景前,選擇幾組Vuser,在後邊點擊"Run-Time Setting"進行設置,這裏要設置的是General--〉Log下,選中Enable Logging和Always send messages,這樣運行場景後你可以查看Vuser使用的Ip(在運行場景後,點擊"Vusers...",打開Vuser信息,在彈出框左上找到Log日誌按鈕,然後可以看到該組Vuser的運行信息,在裏面可以看到使用的ip信息)。

補充:這麼做是在發包時進行欺騙,但是網卡的MAC地址不會變,如果發出去的包經過DHCP(動態路由)時,欺騙就被揭發了--總之就是不成功了,因爲DHCP服務器 會根據package來自的mac地址在dhcp路由器中的ip影射表裏找到網卡的真實ip然後轉發出去(含有個人推測,若有錯誤,請糾正),因此如果被測試的服務器在外網而你所在的網段使用了DHCP路由,我也沒脾氣了(暫時不知道怎麼處理),但是如果被測服務器和你在同一個網內,ok,可以解決,思路:把服務器的網關地址指向你的測試機器,然後使用不同於局域網中的網段,例如:公司使用的是DHCP,並且使用192.168.0.X的網,可以把測試機器ip改成192.168.10.1,掩碼255.255.255.0,網關指向自己192.168.10.1,然後把被測服務器ip改成:ip192.168.10.250,掩碼255.255.255.0,網關192.168.10.1,ok,在測試機器上添加ip,使用192.18.10.X,然後開始測試吧。

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