简体   繁体   中英

Throughput of our Java based web application is slowing down with higher concurrency

We got Jmeter performance results for our Java based web application which looks like below - We ran 30 mins test with 50 Users and 50 Threads and another test with 100 users and 100 Threads. We observed the Elapsed Time for both 50 Users and 100 Users Run. Under 50 Users test elapsed time consistently remains the same. However under 100 Users, for the first 10 minutes API response times are good but then suddenly start to degrade.

What can be the probable causes here which I should investigate?

  1. Make sure that your application has enough headroom to operate in terms of CPU, RAM, Network, Disk, etc. as increased response times might be caused by lack of any of the above. If you don't have a better monitoring toolchain you can consider using JMeter PerfMon Plugin for this
  2. Double check your application server, database server and any middleware configuration, defaults are not suitable for high loads and most probably you need to tune it somehow (increase number of maximum threads, adjust memory usage, etc.)
  3. Use a profiler tool which can give you comprehensive information regarding the slowest application parts, largest objects, heaviest DB queries and so on
  4. And last but not the least make sure to follow JMeter Best Practices as it might be the case it's JMeter who cannot send requests fast enough and reporting false negative results

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM