loadruner報錯:Step download timeout(120 seconds)

設置了runt time setting中的internet protocol-preferences中的advaced區域有一個winlnet replay instead of sockets選項,選項後再回放就成功了。

kernzhang解釋以下(這裏謝謝kernzhang):

這個問題頗有意思!呵呵!首先LR是經過Microsoft WinInet DLL去錄製web協議的!可是在Control運行的時候它默認經過socket去模擬請求,由於這些能夠真實的模擬帶寬,而採用Microsoft WinInet DLL經過這個DLL去訪問網卡方式去模擬帶寬,使得模擬不是很精確!並且也不支持unix的應用,可是使用這個確實有時沒法處理winnet Dll的一些請求,我認爲是它的一些BUG,好比說:回放時它會檢查Content-Length,可是網頁支持receive more data時,這時socket模擬會一直等待直到timeout!

先說了一些優缺點,最後回到這個問題!這個問題分兩個方面分析:
第一:你要明白web_set_timeout()這個函數的適用範圍!好比說一個web_submit_data()中實際涵蓋了10個對Server 端的請求,這個函數是針對10個請求的總和時間的!(別犯低級錯誤,timeout分了connect,receive以及download三個部分:) )
第二:就是我解釋的上面的一些BUG問題!
WinInet dll在新版本中處理請求時能夠異步的,就是再也不是那種鏈接等待而後超時模式!可是LR用的socket是同步請求!只有等到timeout纔會退出!microsoft已經明確表示INTERNET_OPTION_RECEIVE_TIMEOUT 再也不適用於 Microsoft Internet Explorer 5.0,顯而易見,他們處理請求採起了異步處理的方式!呵呵!這下大概能夠圓滿解釋你的問題了!呵呵

這裏,我補充以下:
VuGen專用的基於套接字的重播是一種可伸縮以便進行負載測試的輕型引擎。使用線程時是準確的。基於套接字的引擎不支持socks代理服務器。若是在這樣的環境中錄製,應該使用winInet重播引擎。

web

相關文章
相關標籤/搜索