Nope, not sure. Why might it not be received? How could I make sure it is
sent? 

Perhaps there is a better way to do it rather than:

>      BufferedOutputStream bos = new
>  BufferedOutputStream(s.getOutputStream());
>      bos.write("test response data".getBytes());
>      bos.flush();

? Can anyone suggest a better way to send response data over the tcp socket?

Or, perhaps it's some issue with threading? perhaps the threads arent
terminating?

Eric


sebb-2-2 wrote:
> 
> On 20/07/2009, eds2103 <[email protected]> wrote:
>>
>>  I am using JMeter to load test a TCP server.  Every time I run a test,
>> some
>>  large portion (like half) of my threads are timing out.  The very
>> strange
>>  thing is that the threads that time out (like all the other threads)
>> have
>>  received the correct response data.  And according to the server output
>> they
>>  received this correct response data almost very quickly (like 300 ms),
>> no
>>  where near the timeout.  What seems to be happening is all the threads
>> are
>>  receiving the correct data very quickly, as desired, but for some
>> reason, a
>>  large portion of the threads aren't closing as soon as they've received
>>  their response. They are just sitting there, failing to close.  And so
>> they
>>  timeout and jmeter closes them, and yet JMeter realizes they have
>> succeeded
>>  so it gives them success value of "True". Yet it records their response
>> time
>>  as being a little over the timeout value (10,000 or 20,000 ms, whatever
>> i
>>  set it to... even though, as i said earlier, they are receiving their
>>  correct repsonse after like 300 ms).  Does anyone know why this might be
>>  happening? We are not having this problem with our JDBC Sampler.
>>
> 
> JMeter only recognises the response as being complete if it sees the EOL
> byte.
> Otherwise it will wait until timeout.
> 
> Are you sure that the EOL byte is set correctly and is being received?
> 
>>  We are using a Java TCP socket, which we create like this:
>>
>>      Server Socket server = new ServerSocket(port);
>>      Socket s=server.accept();
>>
>>  And the way we write out to the socket in response to request from
>> JMeter
>>  client threads looks like this:
>>
>>      BufferedOutputStream bos = new
>>  BufferedOutputStream(s.getOutputStream());
>>      bos.write("test response data".getBytes());
>>      bos.flush();
>>
>>
>>  We tried adding more ramp-up time but that didn't help at all. Still
>> about
>>  half timed out for no apparent reason.
>>
>>  Any help appreciated.
>>
>>  We are trying to do performance analysis for school but we can't use our
>>  data for average response time or throughput or anything if half the
>>  response time values are just roughly equal to the timeout and thus way,
>> way
>>  off.
>>
>> --
>>  View this message in context:
>> http://www.nabble.com/Large-Portion-of-TCP-Threads-Timing-Out-Despite-Quick-Receipt-of-Correct-Data-tp24578177p24578177.html
>>  Sent from the JMeter - User mailing list archive at Nabble.com.
>>
>>
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: [email protected]
>>  For additional commands, e-mail: [email protected]
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Large-Portion-of-TCP-Threads-Timing-Out-Despite-Quick-Receipt-of-Correct-Data-tp24578177p24784202.html
Sent from the JMeter - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to