美文网首页我爱编程
Loadrunner通过SSH模拟故障连接

Loadrunner通过SSH模拟故障连接

作者: smooth00 | 来源:发表于2018-05-14 14:46 被阅读19次

           Loadrunner通过Java Vuser和SSH进行Linux连接操作(可以进行Shell调用),利用Shell脚本来关闭和启动指定网卡服务,达到模拟系统故障连接。我就是用这一招来实现高可用性集群的测试(如mongoDb、Oracle RAC、Mycat等),通过在事务脚本中调用Linux脚本的断开连接服务,来模拟某个节点失效后验证主从切换或高并发下的数据同步。

    提供方法如下:

    1、在loadrunner中新建脚本(本文以LoadRunner12为例),要求选择协议类型为Java->Java Vuser

    2、在Run-time Settings设置JDK路径(LR11只支持JDK1.6,LR12支持JDK1.7),所以路径选择固定路径模式(Use Specified JDK),并设置好JDK1.6或1.7的路径。

    3、下载SSH调用jar包jsch-0.1.51.jar,下载地止:https://sourceforge.net/projects/jsch/

    4、创建如下调用脚本:

    public void offTheNet (String IP,String eth,String times) {//关闭指定linux下的指定网卡,设定关闭时间(S)    SSHCommandExecutor(IP, "root", "123456");    String commandStr="sh /home/test/offTheNet.sh "+eth+" "+times;    String commandLog="";    System.out.println(IP+"  "+commandStr);    CommandExecute(commandStr+" \n "+commandLog);                        /*for (String str : stdout) {                  System.out.println(str);              }*/    }

    5、可以在事务脚本中,直接调用以上的函数就能执行关闭连接服务,并且指定关闭时间,如:

    offTheNet("172.17.2.84","eth0","300");//关闭172.17.2.84机器下的第一个网卡,关闭5分钟

    6、在所有要测试的Linux指定路径/home/test下都创建文件offTheNet.sh(记得给赋执行权限),脚本如下:

    #!/bin/sh

    #####################################################################

    #  shell名称  :offTheNet.sh

    #  shell机能  :关闭eth

    #  shell返回值  :  #

    #####################################################################

    clear

    eth=$1

    times=$2

    for((i=1;i<=1;i++))

      do

      # 关闭网络连接

      ifdown $eth

      echo "关闭网络连接"

      #睡眠10分钟为600

      sleep times

      #  启动网络连接

      ifup $eth

      echo  "启动网络连接"

      #1分钟后恢复

      sleep  60

      done

    exit  0

    上面的脚本,用了for循环(只循环1次),如果是要反复断开连接,可以再加个循环参数

    到这里就介绍完了,这只是个抛砖引玉,你完全可以有更多更好的实现方式。

    相关文章

      网友评论

        本文标题:Loadrunner通过SSH模拟故障连接

        本文链接:https://www.haomeiwen.com/subject/uwrirftx.html