# Jmeter Question



## cpscdave (Feb 25, 2004)

If anyone has any experience with this, your help would be most appricated. 

I'm testing a web ap. But whats happening is occassionally there will be a time out error on one of my requests. This of course throws the test into an unknowen state. If I continue the test the error becomes cumalitive and I can no longer be sure where the problem(s) are occuring. 

With a thread group you of course have the 3 options.
Continue,
Stop Thread
Stop Test. 

Neither of these really work for me. Is there a way to easily say continue from start of test? 
Thanks


----------



## lotuseclat79 (Sep 12, 2003)

cpscdave said:


> If anyone has any experience with this, your help would be most appricated.
> 
> I'm testing a web ap. But whats happening is occassionally there will be a time out error on one of my requests. This of course throws the test into an unknowen state. If I continue the test the error becomes cumalitive and I can no longer be sure where the problem(s) are occuring.
> 
> ...


Hi Dave,

What kind of a timeout does your software encounter - i.e. do you know if the request is experiencing a hardware or software timeout? Since you appear to be running a threaded web application, have you tried running the web application under the auspices of a symbolic debugger that can handle threaded applications? That would be your best bet to home in on the problem.

A way you can handle this (if you have the programming experience) is to design an exception handler into your code to handle the timeouts. The easiest way to do this is to cop some working code from another application that implements an exception handler that handles timeouts. If you cannot find any, then checkout the website known as "TheCodeProject" at: http://www.thecodeproject.com and then search for the keyword(s): exception handler timeout

What language is your web application implemented in terms of: C, C++, other?

-- Tom


----------



## cpscdave (Feb 25, 2004)

Tom
Thanks for the reply.

The system that we are testing is written in a combination of Java and Asp (C# I think). Most of the front end is asp and the back end is running off of java and Jboss.

Unfortinatly I dont have my test bed here at home but I do belive you're right in thinking that it was a ASP exception that was throwen.

Normally I'd do what you're suggesting re-write some of the system to handle time outs more gracefully then they current are but the situation is complicated. 

The company I work for did not write this system. It was written by another company. I really cant get into details but this company is no longer working on the project and another contractor is trying to bring it to a useable point. 

The company I work for will take over maintence *ugh* of this beast in a couple months but in the mean time are tasked with writing both regresion and load tests. 

Me specifically I'm supposed to be doing mostly Black Box Testing. So I really shouldn't be poking around in the code all that often.

The load test we ran yesterday wasnt un-reasonable. Only had 10 threads (so 10 different users) using the system at once. So we really need to try and narrow down which area's of the system are causing the problems so we can look at fixing them. 

There is a work around for what I need. I was just hoping there'd be an easier way. Each request I extract a .net varible (__VIEWSTATE) from the page and have to use it anytime I do a post request. what I could do is preceed all my steps with a IF THEN controller checking to see if ${viewstate}!="default value". But it adds a lot to the test cases and is a lot of work for myself.
-Dave


----------



## lotuseclat79 (Sep 12, 2003)

Hi Dave,

Is there at least a way to narrow down to either the front end or back end as a cause for the timeout? Or does the front end only issue requests that the backend replies to, so then it has to be the backend timing out?

-- Tom


----------



## cpscdave (Feb 25, 2004)

Hi tom,
I'm actually thinking that based on where the time outs were occuring that its both the front end and the back end that are timing out. 

But it was hard to tell exactly what errors were caused by which, the problem was exasberated by the fact that if step one had an error step two and step three... etc would also show an error due to the unknowen state. 

I'm thinking that what I'll need to do in the short term at least is to include all those if statements to skip the rest of the test upon an error until we can narrow down where the issue(s) are. 

I really cant say much but this timing out issue is only the tip of a VERY small iceburg... 
-Dave


----------



## lotuseclat79 (Sep 12, 2003)

Based on your post, chase down the first problem as the subsequent errors may just be cascaded from that - i.e. may not exist unless the condition causing the first error occurs.

-- Tom


----------



## cpscdave (Feb 25, 2004)

Hi Tom, 
I have another question for you.

I've gone ahead and added the logic controllers so I'm no longer getting cascading errors. I see now that there are 2 different errors going on.

The first one is being throwen by the system due to time outs.

The other I'm not certian.
The response that's throwing the error is a 
"Non HTTP response code"

and the response data is as follows: 

```
java.net.ConnectException: Connection timed out: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
	at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
	at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.connect(Unknown Source)
	at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(HTTPSampler.java:406)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:658)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:647)
	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:247)
	at java.lang.Thread.run(Unknown Source)
```
What I think this is, is JMeter giving up waiting for a response from the system. If that is the case do you know of a way I can change the time out?


----------



## Chicon (Jul 29, 2004)

cpscdave said:


> Hi Tom,
> I have another question for you.
> 
> I've gone ahead and added the logic controllers so I'm no longer getting cascading errors. I see now that there are 2 different errors going on.
> ...


Hi cpscdave,

The 'Non HTTP response code' may be caused by the way you're handling HTTPS with JMeter. Also, you may ignore the connection time out as it is a consequence of the HTTPS failure.
If you're using a proxy, you may try the solution proposed by Ralph Goers on this page :

http://www.opensubscriber.com/message/[email protected]/1442135.html


----------

