Loadrunner通过SSH模拟故障连接

简介: Loadrunner通过Java Vuser和SSH进行Linux连接操作(可以进行Shell调用),利用Shell脚本来关闭和启动指定网卡服务,达到模拟系统故障连接。
版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/79149591

       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次),如果是要反复断开连接,可以再加个循环参数
到这里就介绍完了,这只是个抛砖引玉,你完全可以有更多更好的实现方式。
目录
相关文章
|
4月前
|
Linux 网络安全 Docker
windows ssh连接docker 容器
windows ssh连接docker 容器
94 0
|
5月前
|
网络安全
idea配置远程服务器实现远程编辑文件及ssh连接
idea配置远程服务器实现远程编辑文件及ssh连接
116 0
|
6月前
|
关系型数据库 MySQL 网络安全
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
334 0
|
6月前
|
存储 安全 Linux
在 Linux 上保护 SSH 服务器连接的 8 种方法
本文主要介绍了8种提高SSH协议安全性的方法,这些在实际工作中其实是都会有所用到的,比如服务器基线啥的,希望大家一起努力维护好自己的服务器。另注:本文为转载,版权为原作者所有https://www.linuxmi.com/secure-ssh-connections-linux.html,侵删。
|
7月前
|
弹性计算 jenkins 持续交付
|
6月前
|
Ubuntu Linux 网络安全
SSH客户端连接远程服务器
一、什么是客户端连接远程服务器 发起连接的一方,计算机或设备(称为客户端)与另一个计算机或设备(称为远程服务器)建立连接。 客户端通过网络连接到远程服务器,远程服务器则是提供所需服务或资源的一方。 客户端通常使用特定的协议(如SSH、HTTP、FTP等)与远程服务器进行通信。 示例:你使用SSH客户端从本地计算机连接到远程服务器以执行远程命令。 二、什么是服务端连接远程服务器
202 1
|
6月前
|
运维 应用服务中间件 网络安全
Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)
Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)
|
5月前
|
Cloud Native 网络安全 Go
SSH连接服务器后执行多条命令
SSH连接服务器后执行多条命令
|
1月前
|
安全 Shell 网络安全
如何通过SSH连接云服务器
当你购买云服务器后,你可以通过SSH方式安全的连接到你的云服务器,因为只有你连上云服务器后才能进行服务器相关的配置操作。这里分别介绍了MAC用户和Windows用户如何通过SSH连接云服务器。
216 1
如何通过SSH连接云服务器
|
1月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
98 2