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地址释放,重启计算机即可


     
    如果您看了本篇博客,觉得对您有所收获,请点击右下角的[推荐]. 如果您想转载本博客,请注明出处, 如果您对本文有意见或者建议,欢迎留言. 感谢您的阅读,请关注我的后续博客!
  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/chuansinfo/p/13814444.html
Copyright © 2011-2022 走看看