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)+"\t"+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語句
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM