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!