I was thinking about load testing with JMeter. When I add threads and test some services for load, it measures load time for my local IP yes? I mean when I create 100 threads it means that 100 user will hit service with same address? There will be much difference between load testing with different addresses?
I want to figure it out, if I do right job for load testing.
2 Answers 2
It mainly depends on the system under test. If the application you're testing has limits of concurrent connections from a single IP address - it will make the difference, otherwise it shouldn't have any impact.
In fact it's possible to simulate different IP addresses for different threads (virtual users), the relevant setting lives under "Advanced" tab of the HTTP Request sampler:
Just remember that IP addresses or IP aliases must exist on the operating system level, this way you will be able to send requests from multiple IP addresses using JMeter.
More information: Using IP Spoofing to Simulate Requests from Different IP Addresses with JMeter
Comments
Does 100 threads mean that 100 user will hit service with same address? Basically yes. But it has to be done carefully. otherwise, it is likely to give you wrong results. For ex, your service may cache the results. If all 100 threads send the same request over and over, the server may start returning the cached result with very little overhead. This may not be what you want.
In real life, 100 users will send 100 different payload requests to the server. You need to mimic that in your performnce test to see what the times will look like.
Next, don't start from 100 requests to the server. The server may have a queue to hold the requests while it is processing the current one. In that case, you are numbers are going to be wrong since the result is (wait in the queue + processing time by server). Depending on what you are trying to find out, this may not be what you want either.
So, start with lower thread count, understand how the server is configured, monitor the server and OS health metrics and measure the response. Increase the thread count and try to plot these in a graph to see what you need to see.