0

I have tomcat 7 running on a hardware with 16gb ram and 4 quad core processors.

I have to support 400 requests per second to the REST APIs. A typical call to the REST API takes 300ms on an avg.

When I am testing the load using LoadUI with 250 requests/sec , the CPU goes to 300% max, memory usage stays at about 9% by the tomcat instance, 600 threads are active and the avg response time goes to 2secs.

I have set max threads to 1500, the Xmx to 6gb and set the GC settings to concurrent. I have also confirmed that the tomcat instance has permissions to utlize all the processors.

The question is , how can I utilize all the processors and threads in tomcat so that the response times do not increase when I am testing with 250requests/sec. I amnot sure why the tomcat instance cannot utilize more hardware resource that are available to it.

Your help is appreciated!

  • 1
    I'm not a tunig expert, but I don't see why increasing the number of threads would decrease the response time. 600 already looks much too high to me. With 120 threads all serving a request that takes 300ms. to complete, you have 400 requests per second already. Adding more threads increases context-switching and memory usage. – JB Nizet Nov 25 '14 at 15:53
  • But there are still idle processors and idle threads that can be used to process more requests. – Atif Sultanuddin Nov 25 '14 at 17:41

0 Answers0