LoadRunner能够测试基于IPv6的应用程序,脚本录制功能可以同时捕获IPv4和IPv6的流量,生成的代码通常不特定于IP版本。在回放脚本时,Web HTTP/HTML协议提供了一项运行时设置,允许你选择使用IPv4或IPv6进行回放。
LoadRunner在IPv6测试方面还是存在限制,主要是:
Web HTTP/HTML协议限制:在使用Web HTTP/HTML协议测试IPv6时,LoadRunner不支持以下功能:
来自网站的FTP
网站细分(Web Subdivision)
Kerberos认证
来自Web的欺骗(Spoofing)
PAC文件(代理自动配置文件)
Webtrace功能限制:IPv6环境下的Webtrace功能存在局限性
在6to4传出网络接口上不受支持。
不支持RawSocket模式。
常规限制和潜在风险
Controller和负载生成器间的通信:LoadRunner Controller和Load Generator之间的内部通信强制使用IPv4,即使在测试IPv6应用时也是如此。
协议切换风险:在脚本录制和回放之间进行IPv4和IPv6的切换,可能会导致回放失败。
IP欺骗功能限制:根据搜索结果,LoadRunner的IP欺骗功能(IP Spoofer)主要针对IPv4地址设计。虽然Web HTTP协议在IPv6测试中有一项限制明确提到了“不支持来自Web的欺骗”,并且有资料指出IP欺骗功能的使用环境存在限制,例如在Win7系统上无法使用,但目前没有明确信息表明IP欺骗功能支持IPv6地址。
疑难问题
当在IPv6测试过程中遇到问题时,可以尝试以下解决方案:
IPV6_webtrace运行失败:
问题:从命令行运行IPV6_webtrace时,报错“webtrace_send_probe_failed”。
解决方案:这通常是由于Load Generator安装不正确引起的。请尝试以下步骤:
卸载当前安装的LoadRunner Professional或Load Generator。
检查并手动移除注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRPACKET(如果存在)。
删除C:\Micro Focus\LoadGenerator目录下的所有残留文件和文件夹。
重启计算机。
重新安装LoadRunner Professional或Load Generator。
安装后,验证注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRPACKET\ImagePath的值是否正确指向packet_amd64.sys驱动程序的路径。
连接服务器失败(错误代码-27796):
问题现象:场景运行时出现Error -27796,提示连接服务器失败。
解决方案:这是一个相对常见的网络连接错误。除了检查IPv6网络连通性、防火墙设置和目标服务端口状态外,还可以尝试以下方法:
调整运行时设置:在Run-time Settings > Browser Emulation中,取消勾选“Simulate a new user on each iteration”。
修改注册表参数:尝试调整Windows的TCP/IP参数。将注册表路径HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters下的TcpTimedWaitDelay值设为30,并将MaxUserPort值设为65534,然后重启计算机。
配置建议
为了更顺利地进行IPv6性能测试,这里有一些建议:
环境准备:为了同时支持IPv4和IPv6的录制和回放,建议在已启用IPv6协议的计算机上安装VuGen和Load Generator。保证测试机的网络适配器已正确配置IPv6地址并能正常通信。
脚本开发:
在录制脚本前,根据被测应用使用的IP协议版本,在VuGen中做好规划。
关注脚本的可移植性,尽量避免在脚本中硬编码和IP地址版本相关的逻辑。
在Run-time Settings中为Web HTTP/HTML协议明确选择回放时使用的IP版本(IPv4或IPv6)。
场景执行:在Controller中配置场景时,保证负载生成器(Load Generator)本身能够通过IPv6网络和被测系统通信。
LoadRunner为IPv6应用的性能测试提供了基础的支持,尤适合于HTTP/HTML这类标准Web协议。然而,你必须清楚地认识到它在特定协议支持、高级功能(如IP欺骗)以及测试环境配置方面的诸多限制。
在进行正式的负载测试之前,务必要进行充分的单脚本回放验证,保证IPv6环境下的基础功能正常。同时,建议密切关注Micro Focus官方发布的技术文档和版本更新,以获取IPv6支持能力的最新进展。