I am using JMeter(in distributed mode) for load testing. Its a JAVA application and SQL database. Application server and database server are two different images.
If i put 50 user's load, after 60 minutes application server reaches 100%.
If i put 100 user's load, after 60 minutes application server reaches 100%.
If i put 500 user's load, after 60 minutes application server reaches 100%.
If i put 1500 user's load, after 60 minutes application server reaches 100%.
If i put 2500 user's load, after 60 minutes application server reaches 100%.
Irrespective of number of user, CPU reaches 100% after 60 minutes.
Please do let me know what can be the reason behind it.
解决方案
Seems like a memory problem in the Application Server JVM.
Try monitoring the memory usage of the JVM (ask the application server administrator to add -verbose:gc to the application startup parameters).
While you run the load look at the generated file on the application server and look for excessive GC time (which is the cause for the high CPU usage).
If this happens - you may suggest to increase JVM memory on app server.
If no excessive GC is logged - it is not the case and you should work with the application server adminitrator to resolve.