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]