1

Why does load testing give better results when I increase number of load runner instances while my server has the same configuration?

I have a rest api hosted on an apache server.

With 1 Load runner instance with 250 concurrent users my average response time is 0.8 sec

But when i increase my Load runner instances from 1 to 4 my average response time decrease down from 0.8 to 0.48.

Why would that happen? Idea is to load test the server and not the consumer itself.

Please help me understand the logic why this would be happening

thanks in advance

Amit
  • 6,839
  • 21
  • 56
  • 90

2 Answers2

1

LoadRunner sends requests as fast as it can (unless you use lr_think_time() function).

The application also responds as fast as it can and given you increase the load throughput should be increased as well (unless you reach saturation point)

So the most straightforward explanation is that single load generator instance is not enough to put your server on its knees, most probably due to too low amount of virtual users or due to running out of system resources like CPU, RAM, Network or Disk IO capacity, make sure that your load generator(s) have enough headroom to operate as performance might degrade greatly when the load exceeds 90% of total available capacity, especially on x86 systems. Depending on your operating system it might be top for Unix and derivatives, Resource Monitor for Windows or you might prefer a cross-platform solution like SIGAR or PerfMon

Dmitri T
  • 159,985
  • 5
  • 83
  • 133
1

You have likely overloaded your load generator. By spreading the same load across four load generators vs one, then you are less likely to overload your load generator and negatively influence your results. It could be any of the finite resource sets that are impacted that result in a slowdown on the load generators.

As a rule of thumb I never have fewer than three load generators (two primary and one control). I also want to use less than 50% of the available resource pool on any given load generator. This includes all finite resources ( CPU, DISK, MEMORY, NETWORK )

James Pulley
  • 5,606
  • 1
  • 14
  • 14