jmeter通过SSH访问数据库并查询值作为变量
案例:需要在Windows机器上使用Jmeter录制脚本,其中需要连Linux机器上的MySQL数据库并取出相应值用作jmeter脚本变量。要通过SSH隧道链接数据库,无法直接连接。
大流程流程:
1.远程数据库连接映射到本地(使用PUTTY实现);
2.在jmeter线程组添加配置元件“JDBC Connection Configuration”
3.在jmeter线程组添加取样器“JDBC Request”。
细化流程如下:
一、配置putty
前置条件:配置好的Linux跳板机器一台:*****.70.53端口***2
解决方案:
1.下载Putty.exe,并配置Session,让他连接远程跳板机器
a. 【Host Name】填*****.70.53,【Port】填 ***2
b. 【Saved Sessions】新建一个名为SSH-MYSQL的session,点击"save"
2.配置【Connection】-【Data】-【Auto-login username】输入远程跳板机器登陆的用户名。这里是ct
3.配置【Connection】 - 【SSH】 - 【Tunnels】。
在【Sourceport】上写运行Jmeter的Windows机器本机端口,任意写未被占用的端口,比如12345。
【Destination】写MySQL数据库的host和port。这里写*****.201:9024。点击Add添加。
4.点击Open。在提示框出现后输入远程跳板机器的登陆密码。再按回车。
二、在jmeter线程组添加配置元件“JDBC Connection Configuration”并配置
三、在jmeter线程组添加取样器“JDBC Request”
保存运行即可。
遇到的问题及处理办法:
问题1:
JDBC request报错:Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
解决:java包不正确所致,放入对应mysql版本的jar包,若无以最新测验(mysql-connector-java-5.6.19-bin.jar下载 地址:https://dev.mysql.com/downloads/connector/j/5.1.html)