HTTP consumer delays sending response under load
------------------------------------------------

                 Key: SMXCOMP-641
                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-641
             Project: ServiceMix Components
          Issue Type: Bug
          Components: servicemix-http
    Affects Versions: servicemix-http-2008.01
         Environment: Windows, Intel Dual core desktop.
            Reporter: Anto Paul


   ServiceMix http consumer endpoint queues up all the responses until all the 
requests are processed and response is sent as a batch at the end after 
finishing processing all requests.. 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 10 HTTP 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 3 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.

    This is a major issue for us. I spend lot of time debugging it and it seems 
that a separate thread pool is needed to handle responses as all threads are 
busy in handling requests.

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


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to