How to perform multiple HTTP requests with unique IP addresses from my local

41 views Asked by At

I am trying to call our homepage www.123.com 10 times simultaneously with unique IP addresses.

We are having issues with GTag Analytics and I am trying to confirm if I can call our homepage 10 times and it will register on GTAG, or not.

I have found 2 posts on load balancing testing with unique IP addresses, which would allow me to do this

One using K6 and the other using JMeter.

k6 -> https://stackoverflow.com/questions/72016444/websites-load-testing-using-k6-from-multiple-ip-addresses but the comment suggests it wont work on a laptop you need more Network cards (which aligns with my findings below)

I tried using JMeter and selecting 'Number of Threads (users) and increasing this to 10, these tests passed, but it only showed as one user on GTag, because of the same IP im assuming.

I found this post which talks about this and suggests Spoofing(adding multiple IP addresses to your IP4) and running with JMeter which should make a call for each IP address,

https://stackoverflow.com/questions/41049686/how-to-create-a-load-test-with-unique-ip-addresses

But this didnt work. The article states 'In the case of a DHCP-assigned address, the IP alias feature won’t work and you won’t be able to add extra IP addresses to your network adapter.'

As I am running through my home router which would be using DHCP, this would not work

Any replies very much appreciated thank you

(I tagged C# and JS also incase theres anything thats available that I am unaware of thank yoU)

1

There are 1 answers

0
Ivan G On

For JMeter it's possible to bind the request to the IP address of your choice via "Source address" field of the HTTP Request sampler:

enter image description here

The IP address (or its alias) needs to be present in the system.

If you're behind NAT the system under test will see only one IP address which is assigned to your by your ISP or your organization or whatever.

So if you need to hit an application residing in the Internet from 10 different IP addresses - these IPs need to be global so you need to reach out to your ISP and ask for them or kick off 10 machines somewhere in cloud like Oracle or Azure and run your JMeter test in distributed mode

And last but not the least, I don't know what "GTag Analytics" is, but I suppose that it's some form of an anal probe which adds an invisible pixel to your web page and it runs tons of JavaScript to track you. As per JMeter project main page:

JMeter is not a browser, it works at protocol level. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc., but the timings are not included in any samples, and only one sample in one thread is ever displayed at a time).

So in order to "see" 10 users in analytics you need to either mimic the JavaScript XHR calls the GTag is doing or use other monitoring options.