0

On a 8GB RAM machine with Intel i5 2500 processor, i am running tomcat and able to send upto 400 requests with 0% error rate using JMeter for fetching a data size of around 2MB (approx). When i observed the response time it has grown up from 10 sec to 30 sec when no of user requests fired were increased from 100 to 400 gradually though the throughput remained same at 8.1/sec. My question is should i say a value below 100 as my concurrent users or 400, because 10sec response time itself is not acceptable for any end-user visiting the website. the available bandwidth was 100Mbps (test environment was an isolated network with separate DB server, application server and a jmeter client connected through cat5 cable to a network switch).

apart from that this kind of stress testing using jmeter is not revealing exact bottleneck why the response is taking too much time, whether it is due to database or application server. how to find out whether the problem is?

1 Answers1

0

JMeter can produce the load, it won't reveal bottlenecks automatically, you'll have to analyze results to get to the bottom of the performance problem. Here are few recommendations:

  1. Make sure that JMeter itself isn't a bottleneck:

    • make sure you have JMeter and application under test installed on different machines
    • run your test in command-line non-GUI mode
    • disable all the Listeners during test run
    • provide enough Java Heap space to JMeter
  2. If the throughput problem still persists - monitor resources on application server and database server sides. There is Server Performance Monitoring plugin which helps to check application under test health resourcewise.
  3. If machine(s) is/are not overloaded, like CPU, RAM, Network and Disk IO are reasonably low but response time is high you can consider the following steps:

    • check application and database servers configurations to ensure that they're optimally configured for 400+ users, defaults are good for development, but definitely need to be changed for production
    • if configuration is fine - use profiling tools to determine what part of application causes slowdowns, once you do - report or fix it.
Dmitri T
  • 551
  • 2
  • 2