项目背景:
有3台机器:
远程数据库(192.168.125.130)
跳板机(192.168.125.129)
客户机(192.168.125.1),
客户机不能直接JDBC连接远程数据库,跳板机可以直接连接远程数据库。
解决策略:
客户机要想连接远程数据库只能通过SSH连接。
步骤1.在客户机,跳板机,远程数据库分别安装SSH
步骤2.在客户机命令行输入 SSH –L 3308:192.168.125.130:3306 [email protected]
3308:在客户机开启的端口号
3306:远程数据库端口号
[email protected] 跳板机用户名和主机
步骤3.输入跳板机密码
至此,已成功建立SSH连接。(SSH端口原理请自行百度)
这只是思路,具体实现请往下看。
上面已经说到了思路,那好办了,让jmter先建立SSH,然后再通过jdbc来访问。
以下是本人想到的两种方案:
1) 写一个类似于JDBCconfigure的 SSH JDBC configure组件(因本人时间有限未进行尝试)
2) 通过java sample来实现SSH连接(本文所实现的方法)
1. 跳过新建java Sample的步骤(读者不会的可自行百度)
本次我们要用到的外部jar包
2. 新建一个项目
3. 编写SSHutil工具类
主要实现的方法
1) 创建session方法
2)连接SSH方法
3)关闭SSH方法
4. 编写Net类(用于判断端口是否被占用)
5. 编写startSSH类(完整代码请联系作者)
6. 编写closeSSH类(完整代码请联系作者)
7. 把编写好的类分别打成两个jar包(StartSSH.jar,CloseSSH.jar)
8. 把打好的两个jar放到%JMTER_HOME%/lib/ext下
9. 打开jmter,新建两个java request
10. 开始测试
成功,打完收工。
自此完成jmter通过SSH连接数据库功能。
源码下载:链接: https://pan.baidu.com/s/1YZ0nKNpcs6u7DogixA9dKw 密码: kdfs