1

我正在尝试JMeter在远程数据库服务器上设置服务器/客户端实例。我已经JMeter在服务器上提取,将 MySQL java 连接器复制到 $JMETER_HOME/lib 并启动JMeter-server 侦听器。在客户端(我的本地桌面)上,我已将JMeter客户端指向远程服务器(通过 $JMETER_HOME/bin/jmeter.properties 中的 remote_hosts 条目)。每当我尝试在客户端上运行 MySQL 加载作业(运行 -> 远程启动 -> )时,我都会收到以下错误:

响应消息:java.sql.SQLException:找不到适合 jdbc:mysql://1.2.3.4/database 的驱动程序

这是在服务器端:

2013/04/10 12:44:43 警告 - jmeter.protocol.jdbc.config.DataSourceElement: 无法返回连接 java.sql.SQLException: 在 java 中找不到 jdbc:mysql://1.2.3.4/dbname 的合适驱动程序.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:185) at org.apache.avalon.excalibur.pool.ResourceLimitingPool.newPoolable(ResourceLimitingPool.java:672) 在 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:178) 在 org.apache.avalon.excalibur。 datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:123) 在 org.apache.avalon.excalibur.pool.ResourceLimitingPool.get(ResourceLimitingPool.java:402) 在 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:222) 在 org.apache.jmeter 的 org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:130) .protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:286) 在 org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:146) 在 org.apache.jmeter.protocol .jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:85) 在 org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:428) 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :256) 在 java.lang.Thread.run(Thread.java:662)130)在 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:222) 在 org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:286) 在 org .apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:146) 在 org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:85) 在 org.apache.jmeter .threads.JMeterThread.process_sampler(JMeterThread.java:428) 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) 在 java.lang.Thread.run(Thread.java:662)130)在 org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:222) 在 org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:286) 在 org .apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:146) 在 org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:85) 在 org.apache.jmeter .threads.JMeterThread.process_sampler(JMeterThread.java:428) 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) 在 java.lang.Thread.run(Thread.java:662)getConnection(DataSourceElement.java:286) 在 org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:146) 在 org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler. java:85) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:428) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) at java.lang.Thread.run (线程.java:662)getConnection(DataSourceElement.java:286) 在 org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:146) 在 org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler. java:85) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:428) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) at java.lang.Thread.run (线程.java:662)

有谁知道为什么即使 Java 连接器位于 jmeter lib 目录中,这也不起作用?

4

1 回答 1

3

所以事实证明,我们正在运行的 Percona MySQL 版本需要特定版本的连接器。把它放进去,一切都解决了。

于 2013-04-15T04:28:54.510 回答