jmeter ssh+jdbc用法

很多朋友都遇到了jmeter链接数据库时需要ssh连服务器后才能连数据库,分享下beanshell里ssh+jdbc用法。

另外也可以结合java请求来实现,包含javasampler以及jsch包

jar包下载地址

import com.jcraft.jsch.JSch;  
import com.jcraft.jsch.Session; 
import java.sql.*;

String user = "";//SSH连接用户名  
String password = "";//SSH连接密码  
String host = "";//SSH服务器  
int port = ;//SSH访问端口  
try {  
JSch jsch = new JSch();  
session = jsch.getSession(user, host, port);  
session.setPassword(password);  
session.setConfig("StrictHostKeyChecking", "no");  
session.connect();  
System.out.println(session.getServerVersion());//这里打印SSH服务器版本信息  
int assinged_port = session.setPortForwardingL(3376,"mysqlip" ,mysqlport); //3376就是jdbc要用的端口
System.out.println("localhost:" + assinged_port + " -> " + mysqlip + ":" + mysqlport);  
} catch (Exception e) {  
e.printStackTrace();  
};  

Connection conn = null;  
ResultSet rs = null;  
Statement st = null; 
try {  
Class.forName("com.mysql.jdbc.Driver");  
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3376/xhl_guild", "root", "12346");  //这里就写localhost或者127.0.0.1
st = conn.createStatement();  
String sql = "SELECT user_id,u_nickname from base_user where user_id =2;";  
rs = st.executeQuery(sql); 
while (rs.next()){  
System.out.println(rs.getInt(1)+"	"+rs.getString(2));}  
} catch (Exception e) {  
e.printStackTrace();  }
rs.close();
st.close();
conn.close();
session.disconnect();
为了方便写了一个java请求的jar,用来ssh链接远程服务器后跳板到mysql数据库。
jar包放在ext目录下,重启jmeter。
如上图填写上对应的参数
lIp==本地ip地址(要映射的ip)
lPort==本地端口号
rIp==mysql服务器所在的ip
rPort==mysql服务所用的端口
sshIp=ssh要链接的服务器ip
sshPort==ssh服务器链接端口
sshUser==ssh服务器链接用户名
sshPassword==ssh服务器链接密码
mysqlUser==mysql数据库连接用户名
mysqlPassword==mysql数据库连接密码
db==数据库名
sqlType==sql类型(默认select,可写其他update等)
sql==sql语句
 
原文地址:https://www.cnblogs.com/VashGu927/p/9606608.html