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