漫游测试之性能测试(3.1.7. 场景的设置 二)

3.1.7.4 局域网IP欺骗

IP欺骗其实质是在单个主机上面绑定多个IP,其只能在局域网内使用。一般说来,单个主机只绑定1个IP,且可用端口只有大约5万个。使用IP欺骗也是为了更好的模拟真实的情况,毕竟一个IP不可能过频访问服务端,如果过频访问很有可能触发防火墙的拦截设置。同时,也有可能因为负载均衡的设置,因为单一IP而失效。

但是,在压力主机上使用多IP也不能解决,网卡的最大流入流量的网络瓶颈,并发数较多时需要注意压力机的流入流量限制。

需要为自己电脑配置固定IP

漫游测试之性能测试(3.1.7. 场景的设置 二)

设置固定局域网IP

漫游测试之性能测试(3.1.7. 场景的设置 二)

再次启动,就进入了设置界面

漫游测试之性能测试(3.1.7. 场景的设置 二)

输入服务器的地址,只对访问该地址的请求使用局域网IP欺骗

漫游测试之性能测试(3.1.7. 场景的设置 二)

下一步后增加IP数

漫游测试之性能测试(3.1.7. 场景的设置 二)

确定后IP地址被启用

漫游测试之性能测试(3.1.7. 场景的设置 二)

在脚本里增加输出IP

漫游测试之性能测试(3.1.7. 场景的设置 二)

在运行场景中启用IP欺骗

漫游测试之性能测试(3.1.7. 场景的设置 二)

需要到Run-Setting中设置使用Run Vuser as a process进程模式

漫游测试之性能测试(3.1.7. 场景的设置 二)

并且启用Winlnet replay instead of Sockets。

漫游测试之性能测试(3.1.7. 场景的设置 二)

查看调试日志,我们可以看到IP策略在客户端已经生效。

漫游测试之性能测试(3.1.7. 场景的设置 二)

注意,IP欺骗做不到一个用户固定使用某一个IP,因为这个过程中随机的。实际应用中,其实用到的虚拟IP时间是较少的,大多数关注防火墙进行性能测试的成本更低

启用虚拟IP可以按照上面的思路进行检查,排除以下常见错误即可: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'。

 

3.1.7.5 场景运行中的检查

执行测试过程中恰当的策略,可以提高工作效率,并且也能及时反馈问题。以下流程标注了测试过程中需要需要监控和判断的流程。

漫游测试之性能测试(3.1.7. 场景的设置 二)

在刚开始执行测试,没必要立即使用较大的并发用户数进行测试。最佳的方法是,先使用一下小的并发数排除脚本的问题,待脚本问题排除并且较少并发数下的性能指标达标时再增加较大的并发数,这样可以利用较少的时间较快的发现和排除性能问题。

同时在运行场景前尤其注意的是Run-Setting的设置,另场景运行中的的日志设置默认是不启用的,运行场景时如果需要日志,需要选中开启。

如果调优后性能状况离目标仍差距较大,这个时候要调查中间件参数、环境等信息,同时需要更进一步的进行更细力度的性能监控,对于风险较大的性能调优,需要及时报告团队负责人,以便协调更多的人力资源来进行此类问题的研究。

以上流程是一个反反复复的流程,每次性能测试遇到的问题、情况,都有可能是不一样的,需要根据这个思路反反复复研究和调查,每解决一个性能问题就是一个整个项目的巨大进步。