0
votes

I am performing a capacity test in my local network using an Apache Server on an Ubuntu Virtual Machine, running JMeter on a physical Ubuntu machine.

Increasing the request rate I can easily observe the maximum throughput and describe how it saturates starting from a given request rate, I see no increase in average time. If I try to access a very heavy page (3 MB text + 10 MB image + 50 MB video), I can even try hundreds of samples for minute but I see no increase in latency comparing it to the average response time measured with much less requests. I am starting thinking that the local network is the issue.

How can I setup the experiment to observe an increase on response time?

3
Please provide the heap configuration for your JMeter. Also, include any screenshots with the response time and throughput along with the threadsSelva

3 Answers

2
votes

The reason you don't see increase in average time even when accessing a very heavy page is that JMeter doesn't try by default to download all images,

You can change default behavior in HTTP Request Advanced tab check the option Retrieve All Embedded Resources

Retrieve All Embedded Resources from HTML Files Tell JMeter to parse the HTML file and send HTTP/HTTPS requests for all images, Java applets, JavaScript files, CSSs, etc. referenced in the file.

This way JMeter will download all relevant files for your HTML.

You can adjust and check Parallel downloads if it'll become too much slower.

0
votes

Retrieving all embedded resources should indeed increase the response time as answered by user7294900. You can exclude embedded resources by specific domains via regex like ^((?!domain1|domain 2).)*$ so that your tests do not affect any third party services.

Here are some other things that you could try:

  1. Disable the cache. This is done via HTTP Cache Manager configuration. For more details check this article. If you use cache there will be HTTP requests with status code 304 - not modified, which are executed very fast.
  2. Investigate the HTTP responses. The assertions elements should be as few as possible in the real load test, but in order to investigate the issue try to add some and run the test with few users in GUI mode locally on your machine. I believe this article could be helpful for you.
  3. You could be hitting internal network limit. Firewall may be blocking your requests. You could discuss your results with your network administrator.
0
votes

Latency dependency on response size is not that close, basically latencyis TTFB (Time To First Byte).

Also well-behaved web applications return "heavy" content from the static cached resources (or even CDNs) so it should not be an expensive operation.