最近需要用jmeter直接对oracle进行压力测试,一直报错以下信息,提示无法建立连接:
一、环境介绍: oracle11.2.0.4
1、连接服务器需要连vpn
2、xshell与plsql都可以正常连接服务器数据库
二、jmeter配置
1、下载连接oracle数据库的驱动ojdbc5.jar(我是从服务器中oracle的安装路径下直接下载下来),放到jmeter安装路径的lib文件夹下。否则会报错:Cannot load JDBC driver class 'oracle.jdbc.OracleDriver'
2、添加【配置元件】-【JDBC Connection Configuration】
3、添加【取样器】-【JDBC request】
4、最后,添加【结果树】,运行,就报错了。。。。
返回数据:Cannot create PoolableConnectionFactory (IO Error: The Network Adapter could not establish the connection)
查了好几天资料才发现:jmeter连接配置mysql数据库时,如果数据库服务器没有通过ssh连接,则只需要添加配置相应的jdbc参数就可以了。如果数据库服务器是通过SSH连接的,则需要通过中间远程连接工具或者添加脚本进行配置,这里先介绍使用putty工具,脚本的方法后面再研究。
putty下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
三、putty配置
1、安装好后,打开putty.exe,首先设置session。设置好后点save,就会保存在default settings那里,下次需要用到时候,点击load
2、设置【shh】-【tunnels】,设置好后,点击add
3、回到session,点击save保存配置,之后双击default settings下的session,就会去连接服务器,输入服务器的用户与密码即可成功登入,表示shh连接成功(如果是需要连接vpn,记得先连接vpn,不然连接不上)。
ps:输入密码时,界面不显示是否输进去密码了,输好后回车即可
四、修改jmeter配置
因为上面的操作相当于已经把要访问的数据库映射到本地了,所以这里的JDBC参数实际应该是localhost:3944,现在再运行脚本,就可以正常访问数据库了
ps:jmeter运行时,putty需要保持登入的状态,不然还是连接不上
最后,查资料的过程中,发现有的人是用写脚本的方式解决这个问题,以后继续研究~~