2015-12-18 45 views
3

以我JMeter測試計劃,我創建了一個線程組和添加有JDBC連接配置config元素:jmeter-我需要額外的連接mysql數據庫嗎?

Url: jdbc:mysql://localhost:3306/atmdb, 
Driver class: com.mysql.jdbc.Driver 
username: **** 
password: **** 

我還添加JDBC請求採樣器和視圖結果樹偵聽器。但執行這個測試計劃後,我看到這個錯誤:

2015/12/18 12:53:39 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 
2015/12/18 12:53:39 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2015/12/18 12:53:39 WARN - jmeter.protocol.jdbc.config.DataSourceElement: Could not load driver: com.mysql.jdbc.Driver java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:270) 
    at org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.configure(ResourceLimitingJdbcDataSource.java:264) 
    at org.apache.jmeter.protocol.jdbc.config.DataSourceElement.initPool(DataSourceElement.java:235) 
    at org.apache.jmeter.protocol.jdbc.config.DataSourceElement.testStarted(DataSourceElement.java:108) 
    at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:214) 
    at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336) 
    at java.lang.Thread.run(Thread.java:745) 
2015/12/18 12:53:39 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,local) 
2015/12/18 12:53:39 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : JDBC Users 
2015/12/18 12:53:39 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group JDBC Users. 
2015/12/18 12:53:39 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2015/12/18 12:53:39 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2015/12/18 12:53:39 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 
2015/12/18 12:53:39 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2015/12/18 12:53:39 INFO - jmeter.threads.JMeterThread: Thread started: JDBC Users 1-1 
2015/12/18 12:53:39 WARN - jmeter.protocol.jdbc.config.DataSourceElement: Could not return Connection java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/atmdb at java.sql.DriverManager.getConnection(DriverManager.java:596) 
    at java.sql.DriverManager.getConnection(DriverManager.java:215) 
    at org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(JdbcConnectionFactory.java:182) 
    at org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655) 
    at org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(ValidatedResourceLimitingPool.java:145) 
    at org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.newPoolable(ResourceLimitingJdbcConnectionPool.java:91) 
    at org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371) 
    at org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(ValidatedResourceLimitingPool.java:97) 
    at org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getConnection(ResourceLimitingJdbcDataSource.java:188) 
    at org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:286) 
    at org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:146) 
    at org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:85) 
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434) 
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261) 
    at java.lang.Thread.run(Thread.java:745) 
2015/12/18 12:53:39 INFO - jmeter.threads.JMeterThread: Thread is done: JDBC Users 1-1 
2015/12/18 12:53:39 INFO - jmeter.threads.JMeterThread: Thread finished: JDBC Users 1-1 
2015/12/18 12:53:39 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2015/12/18 12:53:39 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,local) 

有人可以幫助我嗎?

回答

0

看來你沒有在JMeter的Lib文件夾中放置正確的mysql連接器文件。請下載此jar文件並將其放置在JMeter安裝的Lib文件夾中。

您可以從以下網址下載最新使用mysql-connector-java的5.1.38-bin.jarhttps://dev.mysql.com/downloads/connector/j/3.1.html

要正確配置MySQL JDBC連接是指官方JMeter的文檔:http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration

+0

感謝您的快速回復.....我完全按照您的說法做了,但不起作用。 –

+0

myqsql連接器也需要與正在使用的mysql數據庫兼容。所以,你需要檢查你試圖連接的mysql的變種/版本。然後搜索與您的數據庫兼容的連接器。 – TestingWithArif

0
  1. 爲了獲得更可靠的結果,最好在不同的機器上安裝JMeter和MySQL服務器,因爲它們可能會干擾並爭奪機器資源。
  2. Download MySQL JDBC Driver並將其放到JMeter的類路徑(通常是JMeter安裝的/ lib文件夾)。另外,您可以在Test Plan級別配置路徑

    Add extra jar

  3. 如果複製.jar文件到/ lib文件夾 - 重啓JMeter的挑選的.jar了
  4. 我也建議檢查出Debugging JDBC Sampler Results in JMeter指導學習如何執行關聯,添加斷言等。
3

按照以下兩個步驟解決問題。它解決了我的

  1. 將Apache的JMeter的-3.0 \ lib文件夾
  2. 重新啓動JMeter的

重啓後僅會挑選新放置的jar文件裏面的MySQL連接罐子。

相關問題