https://issues.apache.org/bugzilla/show_bug.cgi?id=55977

            Bug ID: 55977
           Summary: Jdbc pool keepalive flooding
           Product: JMeter
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Main
          Assignee: [email protected]
          Reporter: [email protected]

Created attachment 31181
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31181&action=edit
Jmeter log of the scenario.

In jdbc load test Keepalive age is not respected with bundled excalibur
libraries. Versions tried: 2.9, 2.11, trunk.

For example, consider this configuration:
- keepalive: true
- Max Connection age: 5000
- Validation query: select 1 from dual

Insert in a thread group a jdbc sampler and a timer to execute 1 sample per
second.

Enabled debug in jmeter properties:
log_level.jmeter.protocol.jdbc=DEBUG

In the output in jmeter.log, after "Max connection age" seconds it seems that 
the flag which marks the connection idle is not reset, and for every following
sample a keepalive query is executed:
2014/01/08 10:56:20 DEBUG - jmeter.protocol.jdbc.sampler.JDBCSampler: sampling
jdbc
2014/01/08 10:56:20 DEBUG - jmeter.protocol.jdbc.config.DataSourceElement: Got
a com.sun.proxy.$Proxy0 from the pool.
2014/01/08 10:56:20 DEBUG - jmeter.protocol.jdbc.config.DataSourceElement:
Pinging database after 5999ms of inactivity.
2014/01/08 10:56:20 DEBUG - jmeter.protocol.jdbc.AbstractJDBCTestElement:
executing jdbc
2014/01/08 10:56:20 DEBUG - jmeter.protocol.jdbc.config.DataSourceElement: Put
a com.sun.proxy.$Proxy0 back into the pool.
2014/01/08 10:56:21 DEBUG - jmeter.protocol.jdbc.sampler.JDBCSampler: sampling
jdbc
2014/01/08 10:56:21 DEBUG - jmeter.protocol.jdbc.config.DataSourceElement: Got
a com.sun.proxy.$Proxy0 from the pool.
2014/01/08 10:56:21 DEBUG - jmeter.protocol.jdbc.config.DataSourceElement:
Pinging database after 6999ms of inactivity.
2014/01/08 10:56:21 DEBUG - jmeter.protocol.jdbc.AbstractJDBCTestElement:
executing jdbc

In attach the whole log.

Under heavy load the Oracle DB is flooded by keepalive queries that cause
unexpected cpu utilization and latencies (even with dual table). 

I tried the latest jars from excalibur (datasource and pool) and the problem
seem to me that is solved:
- excalibur-datasource-1.2.0.jar
- excalibur-pool-api-2.1.jar
- excalibur-pool-impl-2.1.jar
- excalibur-pool-instrumented-2.1.jar

Hope this helps to solve the problem, thanks.

Luca

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to