在对B/S架构的系统进行性能测试时,为了让测试场景更接近真实的用户使用场景,往往在LR中设置“IP欺骗”。所谓IP欺骗,即每个虚拟用户使用自己的IP地址访问WEB服务器,但实际上这些虚拟用户只运行在一台主机上,共用一个IP地址。
根据测试对象的运营特点,本次性能测试以压力测试为主,即用工具模拟一定数量的用户并发地操作系统,并发操作可分为单业务和组合业务。为了使测试场景更接近真实的用户场景,我打算使用Loadrunner的IP Spoofer功能来给每个虚拟用户配置不同的IP地址。使用步骤如下:
启动IP Wizard ,配置虚拟机使用的IP地址段(IP Wizard这个工具会将闲置可用的IP地址都过滤出来),在这里设置不更新服务器上的路由表。配置完成后会生成一个.ips文件,该文件也可被其他的测试场景所使用。
在Controller里面激活IP欺骗。虚拟用户会以配置好的IP地址来访问被测系统。
在实际的操作中,IP配置顺利完成并激活,但在回放脚本时LR始终报错,
错误提示“是虚拟用户无法连接被测系统”,随后停止测试后竟然发现测试机无法上网。不能继续测试之余还多出一个莫名其妙的棘手问题,让我百思不得其解。于是取消IP欺骗功能再试,仍然不能上网。ping本机正常说明网卡功能OK,但ping网关或局域网上其他机器怎么也不通,即使重装网卡驱动仍不奏效。起初怀疑是因为LR模拟多IP访问被测系统的行为被网关认为是病毒或黑客行为,所以屏蔽了本机IP地址导致不能上网。可其他机子换用本机IP地址却能正常上网,说明IP地址并未受屏蔽。排除软硬件的原因后,仍然无法ping通其他的机子,疑似网卡发送数据包所用的端口被操作系统封闭。最后只能更换网卡插槽来解决问题(不同插槽使用的数据端口不一样)
结论:产生该故障现象的原因不明。但不可否认这样一个事实:激活Loadrunner的IP Spoofer有可能导致网卡所使用的数据端口被操作系统屏蔽,从而无法访问外界。
版权声明:原创作品,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。
本文出自yantong的51Testing软件测试博客:http://www.51testing.com/?36807
相关阅读:
LoadRunner性能测试手记—第1天 无法启用IE录制脚本