Jmeter随机计时器+清漆问题



我有一个简单的jmeter计划,使用Uniform Random Timer:

Random Delay Maximum (in milliseconds): 15000.0
Constant Delay Offset (in milliseconds): 5000

我正在使用的HTTP头数据:

Content-Type     application/x-www-form-urlencoded
Accept-Language  lt,en-us;q=0.7,en;q=0.3
Accept           text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent           Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0
Referer          http://.../.../tao/Main/login
Accept-Encoding  gzip, deflate

请求数据:

POST http://.../.../tao/Main/login
POST data:
loginForm_sent=1&login=u509&password=demo&processUri=&activityUri=&connect=Log+in
Cookie Data:
tao_XK0R3qTp=uijd30hi0gls2i9l2i2ikr97b3
Request Headers:
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Accept-Language: lt,en-us;q=0.7,en;q=0.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0
Referer: http://.../.../tao/Main/login
Accept-Encoding: gzip, deflate
Content-Length: 81
Host: ...

当我不使用随机计时器时,这是有效的。但当我使用随机计时器时,这个这个HTTP请求不起作用。

Thread Name: ... 1-1
Sample Start: 2014-03-25 13:16:54 EET
Load time: 1
Latency: 0
Size in bytes: 1939
Headers size in bytes: 0
Body size in bytes: 1939
Sample Count: 1
Error Count: 1
Response code: Non HTTP response code: org.apache.http.NoHttpResponseException
Response message: Non HTTP response message: The target server failed to respond
Response headers:

HTTPSampleResult fields:
ContentType: 
DataEncoding: null

HTTP请求响应数据错误:

org.apache.http.NoHttpResponseException: The target server failed to respond
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:481)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:298)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1105)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1094)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
    at java.lang.Thread.run(Unknown Source)

清漆配置:我还没有改变任何东西,所以配置是默认的:

backend default {
     .host = "127.0.0.1";
     .port = "8080";
}

从这个我可以假设,由于某种原因apache服务器没有得到这个请求,或超时?所以总结我的问题:当我使用Varnish和jmeter有随机计时器时,这个HTTP请求不起作用。当我删除随机计时器时,清漆没有问题。现在,当我不使用清漆,这工作与没有随机计时器。我想这与其说是提问,不如说是征求意见/帮助。我似乎想不出这个问题。

似乎我不得不将会话超时添加到/etc/default/varnish/:

 DAEMON_OPTS="-a :80 
              -T localhost:6082 
              -f /etc/varnish/default.vcl 
              -S /etc/varnish/secret 
              -s malloc,256m 
              -p sess_timeout=300"

虽然我真的不喜欢增加会话超时,所以如果你们谁知道这个问题的更好答案,请继续回答。

最新更新