You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Ed Young <ej...@summitbid.com> on 2009/05/04 21:24:21 UTC

TCP Sampler missing responses when threads > 2

I am developing a test to execute a sequence of simple text based messages,
each message expecting a response. The message requests are configured using
the TCP Config and TCP Samplers as Thread Group children.

The TCPSampler sees the responses until I get past 2 threads. Then it misses
the response from the 3rd thread every time.  I know it's missing the
responses because I can see the responses come back by watching a log file.

It looks to me like the thread continues before it ever gets back a
response, which is not the behavior I want. I want it to wait until the TCP
Sampler timeout value and then proceed.

I suspect that the problem is that I'm misconfiguring the TCP Sampler,
because I'm not sure of the use for some of it's parameters.

The behavior varies alot as I experiment with the values, but I haven't
gotten past the 3 thread point with any combination.

My questions are about whether I'm using the parameters correctly.


   - I have unchecked "Re-use connection" This makes sense to me because I
   want each thread to use it's own socket.


   - I have set the TCP Sampler Config Timeout value to 5000ms.

I believe this means "for each TCP Sampler let the default timeout be
5000ms". Is this correct?

   - If I leave the Timeout value blank, I never see any outgoing or resonse
   traffic at all in jmeter, but I can see that the message was sent and
   received according to the target system log. It seems that jmeter is hanging
   up for some reason.  I have to stop the thread manually from the run menu.


   - Does setting one of the actual TCP Sampler Timeout values Override or
   Extend the default value set in the config element?

   - What does checking the NoDelay do?


I'm running jmeter 2.3.2 r665936, but I have tried it on the snapshot
version I have and get the same results.

-- 
- Ed

Re: TCP Sampler missing responses when threads > 2

Posted by Ed Young <ej...@summitbid.com>.
Thank you for the very helpful explanation.

On Mon, May 4, 2009 at 5:12 PM, sebb <se...@gmail.com> wrote:

> On 04/05/2009, Ed Young <ej...@summitbid.com> wrote:
> > Of course, moments after sending this email, I seem to have solved my
> >  problem. I'm up to 10 threads with no issues.
> >
> >  I simply reduced my TCP Sampler Config Timeout value to 500ms.
> >
> >  Still curious about what NoDelay is and some of the details of Timeout
> set
> >  in the TCP Sampler Config vs set in the TCP Sampler itself.
> >
>
> NoDelay just means that the TCP Sampler calls
> java.net.Socket.setTcpNoDelay(boolean on) which is used to
> disable/enable Nagle's algorithm:
>
> http://en.wikipedia.org/wiki/Nagle%27s_algorithm
>
> The timeout is used to set the read timeout, which just means that the
> sample will finish when the timeout expires, rather than when the EOL
> character is reached.
>
> >
> >  On Mon, May 4, 2009 at 1:24 PM, Ed Young <ej...@summitbid.com> wrote:
> >
> >  > I am developing a test to execute a sequence of simple text based
> messages,
> >  > each message expecting a response. The message requests are configured
> using
> >  > the TCP Config and TCP Samplers as Thread Group children.
> >  >
> >  > The TCPSampler sees the responses until I get past 2 threads. Then it
> >  > misses the response from the 3rd thread every time.  I know it's
> missing the
> >  > responses because I can see the responses come back by watching a log
> file.
> >  >
> >  > It looks to me like the thread continues before it ever gets back a
> >  > response, which is not the behavior I want. I want it to wait until
> the TCP
> >  > Sampler timeout value and then proceed.
> >  >
> >  > I suspect that the problem is that I'm misconfiguring the TCP Sampler,
> >  > because I'm not sure of the use for some of it's parameters.
> >  >
> >  > The behavior varies alot as I experiment with the values, but I
> haven't
> >  > gotten past the 3 thread point with any combination.
> >  >
> >  > My questions are about whether I'm using the parameters correctly.
> >  >
> >  >
> >  >    - I have unchecked "Re-use connection" This makes sense to me
> because I
> >  >    want each thread to use it's own socket.
> >  >
> >  >
> >  >    - I have set the TCP Sampler Config Timeout value to 5000ms.
> >  >
> >  > I believe this means "for each TCP Sampler let the default timeout be
> >  > 5000ms". Is this correct?
> >  >
> >  >    - If I leave the Timeout value blank, I never see any outgoing or
> >  >    resonse traffic at all in jmeter, but I can see that the message
> was sent
> >  >    and received according to the target system log. It seems that
> jmeter is
> >  >    hanging up for some reason.  I have to stop the thread manually
> from the run
> >  >    menu.
> >  >
> >  >
> >  >    - Does setting one of the actual TCP Sampler Timeout values
> Override or
> >  >    Extend the default value set in the config element?
> >  >
> >  >    - What does checking the NoDelay do?
> >  >
> >  >
> >  > I'm running jmeter 2.3.2 r665936, but I have tried it on the snapshot
> >  > version I have and get the same results.
> >  >
> >  > --
> >  > - Ed
> >  >
> >
> >
> >
> >
> > --
> >
> > - Ed
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>


-- 
- Ed

Re: TCP Sampler missing responses when threads > 2

Posted by sebb <se...@gmail.com>.
On 04/05/2009, Ed Young <ej...@summitbid.com> wrote:
> Of course, moments after sending this email, I seem to have solved my
>  problem. I'm up to 10 threads with no issues.
>
>  I simply reduced my TCP Sampler Config Timeout value to 500ms.
>
>  Still curious about what NoDelay is and some of the details of Timeout set
>  in the TCP Sampler Config vs set in the TCP Sampler itself.
>

NoDelay just means that the TCP Sampler calls
java.net.Socket.setTcpNoDelay(boolean on) which is used to
disable/enable Nagle's algorithm:

http://en.wikipedia.org/wiki/Nagle%27s_algorithm

The timeout is used to set the read timeout, which just means that the
sample will finish when the timeout expires, rather than when the EOL
character is reached.

>
>  On Mon, May 4, 2009 at 1:24 PM, Ed Young <ej...@summitbid.com> wrote:
>
>  > I am developing a test to execute a sequence of simple text based messages,
>  > each message expecting a response. The message requests are configured using
>  > the TCP Config and TCP Samplers as Thread Group children.
>  >
>  > The TCPSampler sees the responses until I get past 2 threads. Then it
>  > misses the response from the 3rd thread every time.  I know it's missing the
>  > responses because I can see the responses come back by watching a log file.
>  >
>  > It looks to me like the thread continues before it ever gets back a
>  > response, which is not the behavior I want. I want it to wait until the TCP
>  > Sampler timeout value and then proceed.
>  >
>  > I suspect that the problem is that I'm misconfiguring the TCP Sampler,
>  > because I'm not sure of the use for some of it's parameters.
>  >
>  > The behavior varies alot as I experiment with the values, but I haven't
>  > gotten past the 3 thread point with any combination.
>  >
>  > My questions are about whether I'm using the parameters correctly.
>  >
>  >
>  >    - I have unchecked "Re-use connection" This makes sense to me because I
>  >    want each thread to use it's own socket.
>  >
>  >
>  >    - I have set the TCP Sampler Config Timeout value to 5000ms.
>  >
>  > I believe this means "for each TCP Sampler let the default timeout be
>  > 5000ms". Is this correct?
>  >
>  >    - If I leave the Timeout value blank, I never see any outgoing or
>  >    resonse traffic at all in jmeter, but I can see that the message was sent
>  >    and received according to the target system log. It seems that jmeter is
>  >    hanging up for some reason.  I have to stop the thread manually from the run
>  >    menu.
>  >
>  >
>  >    - Does setting one of the actual TCP Sampler Timeout values Override or
>  >    Extend the default value set in the config element?
>  >
>  >    - What does checking the NoDelay do?
>  >
>  >
>  > I'm running jmeter 2.3.2 r665936, but I have tried it on the snapshot
>  > version I have and get the same results.
>  >
>  > --
>  > - Ed
>  >
>
>
>
>
> --
>
> - Ed
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: TCP Sampler missing responses when threads > 2

Posted by Ed Young <ej...@summitbid.com>.
Of course, moments after sending this email, I seem to have solved my
problem. I'm up to 10 threads with no issues.

I simply reduced my TCP Sampler Config Timeout value to 500ms.

Still curious about what NoDelay is and some of the details of Timeout set
in the TCP Sampler Config vs set in the TCP Sampler itself.


On Mon, May 4, 2009 at 1:24 PM, Ed Young <ej...@summitbid.com> wrote:

> I am developing a test to execute a sequence of simple text based messages,
> each message expecting a response. The message requests are configured using
> the TCP Config and TCP Samplers as Thread Group children.
>
> The TCPSampler sees the responses until I get past 2 threads. Then it
> misses the response from the 3rd thread every time.  I know it's missing the
> responses because I can see the responses come back by watching a log file.
>
> It looks to me like the thread continues before it ever gets back a
> response, which is not the behavior I want. I want it to wait until the TCP
> Sampler timeout value and then proceed.
>
> I suspect that the problem is that I'm misconfiguring the TCP Sampler,
> because I'm not sure of the use for some of it's parameters.
>
> The behavior varies alot as I experiment with the values, but I haven't
> gotten past the 3 thread point with any combination.
>
> My questions are about whether I'm using the parameters correctly.
>
>
>    - I have unchecked "Re-use connection" This makes sense to me because I
>    want each thread to use it's own socket.
>
>
>    - I have set the TCP Sampler Config Timeout value to 5000ms.
>
> I believe this means "for each TCP Sampler let the default timeout be
> 5000ms". Is this correct?
>
>    - If I leave the Timeout value blank, I never see any outgoing or
>    resonse traffic at all in jmeter, but I can see that the message was sent
>    and received according to the target system log. It seems that jmeter is
>    hanging up for some reason.  I have to stop the thread manually from the run
>    menu.
>
>
>    - Does setting one of the actual TCP Sampler Timeout values Override or
>    Extend the default value set in the config element?
>
>    - What does checking the NoDelay do?
>
>
> I'm running jmeter 2.3.2 r665936, but I have tried it on the snapshot
> version I have and get the same results.
>
> --
> - Ed
>



-- 
- Ed