我正在运行jmeter来加载测试一个休息的Web服务,当我运行大量的测试时,我开始看到一些挂起和超时的一些测试。它总是30秒,但我没有给我的测试留出时间。它必须是jmeter的东西。
我有双重和三重检查,它不在服务器上。登录tomcat的持续时间表明没有任何请求需要这么长时间。
我试图在我去我的团队之前正确地进行负载测试,并让每个人都用它来爆炸服务器。
我看到非常好的统计数据,例如这是5个线程组运行5个线程:
summary = 29120 in 00:05:23 = 90.2/s Avg: 254 Min: 31 Max: 30093 Err: 55 (0.19%)
问题是Max
值 - 我得到大约100个测试请求,显示大约30秒的经过时间 - 这是输出中的一些(查看elapsed time
):
timeStamp elapsed label responseCode responseMessage threadName dataType success failureMessage bytes sentBytes grpThreads allThreads Latency IdleTime Connect
1.48975E+12 39093 POST data/save 200 POST data/save 2-3 text TRUE 406 1192 5 25 30093 0 7
1.48975E+12 31033 GET data/load 200 GET data/load 1-2 text TRUE 546 378 5 25 31033 0 4
我怀疑身份验证过程,但我无法确定 - jmeter.log中没有错误,每次请求都会出现警告:
RequestTargetAuthentication: NEGOTIATE authentication error:
No valid credentials provided
(Mechanism level: No valid credentials provided
(Mechanism level: Failed to find any Kerberos tgt))
我使用的是基本的auth而不是kerberos。服务器通常只实现kerberos,但我启用了基本身份验证以帮助测试。