1.錄制時報錯LoadRunner報錯Host socket0 is unknown. Error code : 9008
這是因為在vuser_init.c中"RemoteHost= http://192.168.1.229:8110"才報以上的錯誤,
改成"RemoteHost=192.168.1.229:8110",就運行成功了!
修改腳本為:
lrs_create_socket("socket0","TCP","RemoteHost=47.92.127.107:8180", LrsLastArg);
2.Error : socket1 - Software caused connection abort. Error code : 10053
解決方法:把TCP改為UDP
協議從TCP改為UDP,能多次迭代成功
修改的腳本:
lrs_create_socket("socket0","TCP","RemoteHost=47.92.127.107:8180", LrsLastArg);
改為
lrs_create_socket("socket0","UDP","RemoteHost=47.92.127.107:8180", LrsLastArg);
但是這樣修改后會影響分析結果,Total Throughput (bytes)、Average Throughput (bytes/second)均為0.
最后發現根源是錄制時協議選錯,應該是WEB(HTTP/HTML),不是windows socket。
3.運行場景時,報error
Action.c(7): Error: Socket descriptor not found. Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.
根據上述LR給出的提示,修改
1) Run-Time Settings to Run Vuser as a process
2) 安裝文件dat下查找mdrv.dat,[lr_socks]部分加上ExtCmdLineConc=-UsingWinInet Yes
上面操作設置之后,仍然報錯,點擊停止,在Diagnostics下Configuration,將Web Page Diagnostics選項disable掉。

這樣就解決了!
4.運行場景最后出現Rendezvous release failed,網上查可能是運行主機內存不足導致的,可是才同時30個VGen,應該不會是這個原因。
網上資料查詢得到,根據經驗,每生成一個虛擬用戶,需要花費負載生成器大約 2M 的內存空間。通常運行 controller的主機很少用作負載生成器。負載生成器的工作多由其他裝有 LR Agent的PC 機來擔任。如果負載生成器內存的使用率大於了 70%,負載生成器就會變成系統的瓶頸,導致性能測試成績下降。這種問題需要添加負載生成器來解決。一台 512M內存的 PC 機大約可以生成 80 個左右的負載,而一台 256M 內存的 PC 機大約可以生成50到 60 個左右的負載。
解決方法:把集合點的超時時間由1秒改為30秒,再次運行3次,沒再出錯。
