You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Anto Paul <an...@gmail.com> on 2009/09/25 11:09:27 UTC

HTTP consumer delays sending response under heavy load

Hi,
    While we were doing load testing of our application we found that http
consumer endpoint queues up all the responses until all the requests are
processed and response is sent as a batch at the end. This happens when the
no of request sent is higher than configured thread pool and http endpoint
is doing some time taking operation to give the response.

    To test this I configured servicemix core thread pool and max thread
pool to 2 and fired request from 50 client threads. The result is all the
response is returned after all the request processing is done. ie. first
client and last client gets the response at same time.

The test sa is     http consumer su --> MessageListener su. send() method is
used to send reply back to http consumer.

To simulate time delay in MessageListener, it sleeps for 1 sec. before
sending response back to http endpoint.

Though setting ServiceMix thread pool to a higher value than no of
concurrent requests solves this problem, this is not a permanent solution as
increasing thread count has a limit.

Can somebody tell me is there any other configuration required to achieve
near real time response from ServiceMix.Or is that I am doing anything
wrong?

Tested this in Apache ServiceMix 3.2.1 and Fuse ESB 3.4.0.4 with SEDA flow.

Regards,
Anto

Re: HTTP consumer delays sending response under heavy load

Posted by Anto Paul <an...@gmail.com>.
Any help on this?
Anto

On Fri, Sep 25, 2009 at 2:39 PM, Anto Paul <an...@gmail.com> wrote:

> Hi,
>     While we were doing load testing of our application we found that http
> consumer endpoint queues up all the responses until all the requests are
> processed and response is sent as a batch at the end. This happens when the
> no of request sent is higher than configured thread pool and http endpoint
> is doing some time taking operation to give the response.
>
>     To test this I configured servicemix core thread pool and max thread
> pool to 2 and fired request from 50 client threads. The result is all the
> response is returned after all the request processing is done. ie. first
> client and last client gets the response at same time.
>
> The test sa is     http consumer su --> MessageListener su. send() method
> is used to send reply back to http consumer.
>
> To simulate time delay in MessageListener, it sleeps for 1 sec. before
> sending response back to http endpoint.
>
> Though setting ServiceMix thread pool to a higher value than no of
> concurrent requests solves this problem, this is not a permanent solution as
> increasing thread count has a limit.
>
> Can somebody tell me is there any other configuration required to achieve
> near real time response from ServiceMix.Or is that I am doing anything
> wrong?
>
> Tested this in Apache ServiceMix 3.2.1 and Fuse ESB 3.4.0.4 with SEDA flow.
>
> Regards,
> Anto
>