Java 如何在JMeter中记录JDBC响应错误
我想调试一个脚本,该脚本连接到几个JDBC连接并向它们发出JDBC请求。当它被破坏时,输出可能如下所示:Java 如何在JMeter中记录JDBC响应错误,java,jmeter,benchmarking,Java,Jmeter,Benchmarking,我想调试一个脚本,该脚本连接到几个JDBC连接并向它们发出JDBC请求。当它被破坏时,输出可能如下所示: summary + 34 in 00:00:08 = 4.0/s Avg: 3890 Min: 399 Max: 7535 Err: 34 (100.00%) Active: 32 Started: 32 Finished: 0 summary + 146 in 00:00:30 = 4.8/s Avg: 6443 Min: 199 Max: 1
summary + 34 in 00:00:08 = 4.0/s Avg: 3890 Min: 399 Max: 7535 Err: 34 (100.00%) Active: 32 Started: 32 Finished: 0
summary + 146 in 00:00:30 = 4.8/s Avg: 6443 Min: 199 Max: 13358 Err: 146 (100.00%) Active: 32 Started: 32 Finished: 0
summary = 180 in 00:00:39 = 4.7/s Avg: 5961 Min: 199 Max: 13358 Err: 180 (100.00%)
summary + 136 in 00:00:28 = 4.9/s Avg: 6828 Min: 196 Max: 13008 Err: 136 (100.00%) Active: 0 Started: 32 Finished: 32
summary = 316 in 00:01:07 = 4.7/s Avg: 6334 Min: 196 Max: 13358 Err: 316 (100.00%)
2021-04-01 16:15:17,217 DEBUG o.a.j.c.GenericController: Calling next on: class org.apache.jmeter.control.GenericController
2021-04-01 16:15:17,217 DEBUG o.a.j.c.GenericController: Calling next on: class org.apache.jmeter.control.GenericController
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Preparing class org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting dataSource=CSDISCO
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Ignoring property 'integerQueryTimeout' in org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Ignoring property 'integerResultSetMaxRows' in org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2021-04-01 16:15:17,217 DEBUG o.a.j.t.p.AbstractProperty: Running version, executing function
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting query=select * from trable;
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryArguments=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryArgumentsTypes=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryTimeout=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryType=Select Statement
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting resultSetHandler=Store as String
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting resultSetMaxRows=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting resultVariable=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting variableNames=
我看到了100%的错误率。所以这些错误一定出现在某个地方。但我还没弄明白。我尝试过的事情:
- 将一组不同的记录器添加到
中,就像Log4j2.xml
一样 - 将
和/或-Llog_level.jmeter.protocol.jdbc=TRACE
添加到我的jmeter命令中-LALL
summary + 34 in 00:00:08 = 4.0/s Avg: 3890 Min: 399 Max: 7535 Err: 34 (100.00%) Active: 32 Started: 32 Finished: 0
summary + 146 in 00:00:30 = 4.8/s Avg: 6443 Min: 199 Max: 13358 Err: 146 (100.00%) Active: 32 Started: 32 Finished: 0
summary = 180 in 00:00:39 = 4.7/s Avg: 5961 Min: 199 Max: 13358 Err: 180 (100.00%)
summary + 136 in 00:00:28 = 4.9/s Avg: 6828 Min: 196 Max: 13008 Err: 136 (100.00%) Active: 0 Started: 32 Finished: 32
summary = 316 in 00:01:07 = 4.7/s Avg: 6334 Min: 196 Max: 13358 Err: 316 (100.00%)
2021-04-01 16:15:17,217 DEBUG o.a.j.c.GenericController: Calling next on: class org.apache.jmeter.control.GenericController
2021-04-01 16:15:17,217 DEBUG o.a.j.c.GenericController: Calling next on: class org.apache.jmeter.control.GenericController
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Preparing class org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting dataSource=CSDISCO
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Ignoring property 'integerQueryTimeout' in org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Ignoring property 'integerResultSetMaxRows' in org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
2021-04-01 16:15:17,217 DEBUG o.a.j.t.p.AbstractProperty: Running version, executing function
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting query=select * from trable;
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryArguments=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryArgumentsTypes=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryTimeout=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting queryType=Select Statement
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting resultSetHandler=Store as String
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting resultSetMaxRows=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting resultVariable=
2021-04-01 16:15:17,217 DEBUG o.a.j.t.TestBeanHelper: Setting variableNames=
这种情况一再重复。我不明白从Jmeter中获取一条简单的错误消息有多难。查看:
异常消息将作为响应消息添加,因此它将出现在
因此,如果您使用您选择的文本查看器打开此文件,您将在那里看到错误消息
如果您需要在中查看它们,您可以添加并使用如下代码:
if (!prev.isSuccessful()) {
println('Sampler ' + prev.getSampleLabel() + ' failed with ' + prev.getResponseMessage())
}
其中,prev
代表previous,请参阅JavaDoc以了解所有可用函数,并参阅文章以了解有关JMeter API shorhands的更多信息,这些函数可用于