zoukankan      html  css  js  c++  java
  • LoaRunner性能测试系统学习教程:场景设计实践之IP欺骗技术(2)

    上期我们讲到LoaRunner性能测试场景设计实践之集合点,这期我们讲的是LoaRunner性能测试场景设计实践之IP欺骗技术。

    IP欺骗技术

    在场景运行时,每台负载发生器计算机上的Vuser都使用其计算机的固定IP地址。这样就不能模拟用户使用不同计算机的真实情况。

    应用程序服务器和网络设备用IP地址标识客户端。应用程序服务器经常缓存来自同一台计算机的客户端信息。网络路由器则尝试缓存源信息和目标信息来优化吞吐量。如果许多用户使用同一个IP地址,服务器和路由器都将尝试进行优化处理。由于同一台负载发生器计算机上的Vuser具有相同的IP地址,因此服务器和路由器优化不反映真实情况。

    使用LoadRunner的多IP地址功能,可以用许多IP地址来标识在一台计算机上运行的多个Vuser。这样,服务器和路由器将认为Vuser来自不同的计算机,因此测试环境更加真实。

    当然LoadRunner在设计的时候就想到这个问题了,这就是IP欺骗技术。但是在使用IP欺骗时需要注意IP Spoofer要在连接Load Generator之前启用,并且各负载发生器计算机必须使用固定IP,不能使用动态IP(即DHCP)。

    IP Spoofer设置

    1.点击“开始”菜单→“所有程序

    ”→Mercury LoadRunner→Tools→IP Wizard,弹出IP Wizard配置对话框,如图所示。


     

    2.在这里选择一种方式进行设置,如果以前保存过这类文件,可以选择“Load Previous settings from(从文件中加载以前的设置)”,然后选择该文件即可。

    3.也可以选择

    “Create new settings(创建一个新的设置)”。

    4.点击“下一步”按钮。如果计算机中安装了多个网卡,那么要选择用于这些IP地址的网卡,然后点击“下一步”按钮,在弹出的对话框中设置服务器的IP地址,如图所示。


     

    5.点击“下一步”按钮将看到该计算机的IP地址列表。点击“添加”按钮可以定义地址范围,如图所示。


     

    6.在该对话框中选择计算机的IP地址类型。指定要创建的IP地址数。选中“Verify that new IP addresses are not already(验证新的IP地址未被使用)”复选框,以指示IP向导对新地址进行检查,LoadRunner会自动检查新添加的IP在同一网段中是否已被使用,如果IP已经被使用,那么这些IP将不会被添加进来,只有未被使用的IP地址才会被添加进来,点击“确定”按钮继续。

    7.完成之后,IP欺骗向导会显示出IP变更统计的对话框,如图所示。


     

    在该对话框中,可以点击按钮将本次添加的IP保存成“.ips”文件,下次再使用时就可以直接加载此文件。

    完成之后,系统会提示重启计算机,重启计算机后,设置的IP欺骗有效,重启后为了确认虚拟IP是否都生效,可以在“开始”→“运行”,输入“cmd”,在弹出的命令窗口输入“ipconfig/all”,就能看到生效的所有IP。

    还可以使用lr_get_vuser_ip函数来得到当前虚拟用户的IP地址,在脚本中加入下面的代码即可。

    char*ip;ip = lr_get_vuser_ip();if(ip)lr_output_message("The IP address is %s",ip);elselr_output_message("IP spoofing disabled");

    场景运行时,如果虚拟IP生效的话,打开每个Vuser的日志,就可以看见他们各自的IP。

    而在实际使用过程中,经常发现,客户端和服务器之间存在一个路由器,出现这种情况怎么办呢?其实在使用IP欺骗技术时,服务器需要将这些地址添加到路由表中,以识别返回客户端的路由。如果服务器和客户端具有相同的子网掩码、IP类和网络,那么不需要修改服务器的路由表。如果客户端和服务器之间有路由器,那么必须手动让服务器将这些地址添加到路由表中,这样服务器才能识别经过该路由器的路径。

    在设置完成IP欺骗的最后一步,不要重启计算机,此时在临时文件夹Temp里生成两个文件,一个是用于UNIX操作系统的unix_routing.sh文件,一个是用于Windows操作系统的nt_routing.bat文件。两个文件的内容如下:

    nt_routing.bat文件:

    REM This is a bat file to add IP addresses to the routing table of a server

    REM Replace [CLIENT_IP] with the IP of this machine (Load Generator) that the server already recognizes

    REM This script should be executed on the server machine

    route ADD 192.168.14.22 MASK 255.255.255.255 [CLIENT_IP] METRIC 1

    route ADD 192.168.14.23 MASK 255.255.255.255 [CLIENT_IP] METRIC 1

    route ADD 192.168.14.25 MASK 255.255.255.255 [CLIENT_IP] METRIC 1

    unix_routing.sh文件:

    # Bourne shell script to add IP addresses to the routing table of a server

    # To run replace [CLIENT_IP] with the IP of this machine (Load Generator) that the server already recognizes

    # Then chmod +x unix_routing.sh

    # and finally execute this script on the server

    #!/bin/sh

    route add 192.168.14.22 [CLIENT_IP] 255.255.255.0

    route add 192.168.14.23 [CLIENT_IP] 255.255.255.0

    route add 192.168.14.25 [CLIENT_IP] 255.255.255.0

    要更新服务器路由表,必须对这两个文件进行一定的修改。

    1.将[CLIENT_IP]用LoadRunner机器的IP地址替换。假设LoadRunner机器的IP地址为192.168.14.26。

    2.修改的文件必须在服务器上运行该文件

    Windows操作系统使用nt_routing.bat文件

    UNIX操作系统使用unix_routing.sh文件。

    修改后的两个文件内容如下:

    nt_routing.bat文件:

    REM This is a bat file to add IP addresses to the routing table of a server

    REM Replace [CLIENT_IP] with the IP of this machine (Load Generator) that the server already recognizes

    REM This script should be executed on the server machine

    route ADD 192.168.14.22 MASK 255.255.255.255 192.168.14.25 METRIC 1

    route ADD 192.168.14.23 MASK 255.255.255.255 192.168.14.25 METRIC 1

    route ADD 192.168.14.25 MASK 255.255.255.255 192.168.14.25 METRIC 1

    unix_routing.sh文件:

    # Bourne shell script to add IP addresses to the routing table of a server

    # To run replace [CLIENT_IP] with the IP of this machine (Load Generator) that the server already recognizes

    # Then chmod +x unix_routing.sh

    # and finally execute this script on the server

    #!/bin/sh

    route add 192.168.14.22 192.168.14.25 255.255.255.0

    route add 192.168.14.23 192.168.14.25 255.255.255.0

    route add 192.168.14.25 192.168.14.25 255.255.255.0

    到这里跨网段IP欺骗技术已经完成,重启计算机,IP欺骗将生效。

    Controller中启动IP Spoofer

    设置好IP Spoofer后,必须在

    Controller中启动IP Spoofer

    选择Scenario→Enable IP Spoofer

    启动IP Spoofer策略,如图所示。


     

    当启动IP Spoofer后,在Run选项卡的右下角会看到IP Spoofer的标记,如图所示。


     

    启动多IP地址模式后,可以在专家模式中对多IP地址进行全局设置。首先,选择Tools→Expert Mode来启动专家模式。接下来选择Tools→Options→General选项卡,来设置多IP地址模式分配IP地址的情况,如图所示。


     

    可以选择按进程或线程分配IP地址,按线程分配会导致场景中存在更多的IP地址范围。

    选择Scenario→Load Generators,设置Vuser生成器,将虚拟IP地址添加进去,并连通(点击Connect按钮,每个IP状态由Down变为Ready),如图所示。

    当连接成功后,Vuser生成器会在工具栏中显示,如图所示。

    在使用完成之后,一定要记得释放IP地址,在IP Wizard设置首页,如图所示。选择Restore original set项,进行IP地址释放,重启计算机即可


     
    如果您看了本篇博客,觉得对您有所收获,请点击右下角的[推荐]. 如果您想转载本博客,请注明出处, 如果您对本文有意见或者建议,欢迎留言. 感谢您的阅读,请关注我的后续博客!
  • 相关阅读:
    单例
    ASIHttpRequest加载网络数据和上传数据功能
    JSONModel
    KVC/KVO
    C中的动态内存分配和释放(free)
    IOS开发中Xcode一些使用技巧,快捷键的使用
    Struts2文件上传
    Struts2的输入校验
    struts2类型转换中的错误处理
    struts2自定义类型转换器
  • 原文地址:https://www.cnblogs.com/chuansinfo/p/13814444.html
Copyright © 2011-2022 走看看