CXF Gurus,

We are using CXF for a bunch of web services on our enterprise grade
servers. We were noticing that our throughput of requests was peaking
at an average of 42 transactions/second (a transaction here is 1 SOAP
request/response combo).

To investigate whether the bottleneck was in the system or in the web
service, we added a simple API (getStartTime) that just returns a
string without communicating with the rest of the system. The API has
no parameters, and just returns a small string (timestamp) - so the
size of the message is very small.

We used SOAPUI's load test feature to run multiple threads against the
server that just call getStartTime. However, once again, we can only
get a max throughput of 42 transactions per second - no matter how
many client threads we have. The system CPU is about 50% idle during
the test and we do not seem to be memory bound either.

We're running CXF 2.4.3 in Tomcat 7.0. Tomcat's config had
acceptCount="100", maxThreads="150" - which should not cause any
throttling to kick in. I set both those to 300 but that did not change
our throughput. I checked iptables - there is no throttling going on
there either. Since I have checked everything else it seems like the
bottleneck is in CXF. Is there something in CXF that throttles
requests? If so, is it configurable?

I know 42 is the answer to life the universe and everything but does
anyone have other thoughts on how to increase our system throughput?

tia,
rouble

Reply via email to