Loadrunner Sockets协议实战问题总结

本文详细介绍了在使用LoadRunner的Sockets协议进行录制和回放脚本时遇到的问题及解决方案,包括回放速度慢、缓冲区大小不匹配、动态关联和并发测试中的数据接收问题。通过调整接收超时时间、设置EndMarker选项,成功解决了这些问题,提高了脚本效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:
被测系统是一个使用.net framework 2.0开发的C/A/S结构的程序,APP是IIS6.0。由于LR8.1 FP4中增加了对.net framework 2.0的支持,本来想使用新增加的Microsoft .NET协议录制,无奈录制过程中遇到的问题多多,而网上对这个协议的资料又少之又少,时间紧的情况下只好先使用Sockets协议来进行录制,Microsoft .NET协议就留着以后再深入了解吧。

第一步:录制脚本。没什么可说的,一步步操作即可。

第二步:回放脚本

回放的过程中发现脚本回放的很慢,一个脚本在忽略think time的情况下回放竟然需要好几分钟,但事务的响应时间并不长。本以为在generator慢,在controller下会快一些,结果试了一下还是一样。

仔细查看回放log后发现在回放慢的事务中都包含了很长的wasted time,这就是回放慢的原因了。查找资料后才知道是由于录制时接收buffer的大小与回放时接收的buffer大小不同(Mismatch)产生的。LR中当遇到Mismatch时,会重新读取socket中的数据,直到超时为止。这个超时时间默认为10秒,可使用lrs_set_recv_timeout2函数进行修改。当脚本回放时mismatch很多时,自然就慢了,而且这个时间并不计入响应时间,而是计入wasted time。

修改了一些返回长度固定的buffer size,又把lrs_set_recv_timeout2设为5秒后,脚本回放时间大大缩短了,但有些数是据根据请求不同动态返回的,肯定会出现mismatch,暂时就没辙了,不过后面会说到解决办法。

第三步:增强脚本
参数化没什么特殊的,不再多说了,要注意的一点就是把原始值替换为参数时,有些数据中间有换行,容易遗漏。

这里主要说说动态关联。

Sockets协议中有3个用于关联的函数,分别是lrs_save_param、lrs_save
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值