前段時間在使用loadrunner socket協議發送數據包到到服務器,使用lrs_receive接收服務器應答數據包,已經接收到數據包,但LR仍然在等待服務器端返回,並且日誌打印顯示每次接收返回都是waste time:10s,查資料發現原來是由於在data.ws中定義了recv buffer的長度與實際接收返回包長度不同致使,如定義爲100,可是socket上的返回buffer長度不是100,這時候,loadrunner會嘗試再次去讀取,直到讀到長度爲100的buffer纔算成功。嘗試屢次,超時時間爲多少?loadrunner默認爲10s,因此你這裏纔會有等待10s的狀況出現。服務器
能夠使用lrs_set_recv_timeout(10,10)或lrs_set_recv_timeout2(1,10);設置超時時間,兩個函數的區別是:socket
下面的這篇博文很詳細的描述了LR 模擬socket協議編寫測試腳本的基本操做:http://blog.csdn.net/zhuangxiu/article/details/6396052函數