How to run Jmeter (.jmx) script using multiple IP addresses? - performance

I have written a jmeter script for my web application which runs from single system.
What should i do so that i can run same script from some other IP addresses/systems.
I ran it on other system connected in LAN (REMOTE RUN), but it ran only on that system.
I want to run same script from multiple IPs/Systems. Is there is any setting or update we can do in jmeter so that it will run those script from a bunch of IP addresses?
Or, Can we run jmeter from some browser which uses multiple proxies ?
Thanks in advance.

If your computer is configured to provide several IP addresses on a certain NIC or has different NICs you can tell JMeter which IP address to use for outgoing connections.
Credits for this solution go to blazemeter, the information has been taken from their blog.

Related

Client Server Logs Shows Public IP instead of Spoof IP in Jmeter

As the title says, I have been tasked to do Load and Performance Testing on a Client's Server, I have followed all steps, made additional IPs and added it to the system, and entered the same IPs in Jmeter using CSV dataset, and Debug Postproccessor shows that the request is being sent with the correct IPs. I am doing this over wifi, so hopefully that isn't the issue.
Any help is appreciated.
System config
OS: Windows 10 64 bit
Ram: 16gb
Jmeter Version 5.4.3
It may easily happen if you're behind NAT and the server is in the Internet, in that case no matter what is your local IP address(es), the server will "see" only the address of your NAT gateway, you can check yourself using websites like https://www.whatismyip.com/
The trick with local IP addresses (or aliases) will succeed only in case of local intranet, when it comes to Internet - you will need to have as many global static IP addresses as many users you're trying to simulate.
One of the possible solutions is kicking off virtual machines in AWS or Azure or similar service or asking your ISP to provide you a pool of IP addresses you could use (normally you will need to pay for this) and go for distributed testing so each JMeter slave would have its own IP address (or several) to bind.

JMeter SubNet issue

How does JMeter determine what subnet it is on ?? I don't see a subnetMask property in the jmeter property file.
My client is on x.y.76.54, my server is on x.y.77.75. The subnet mask is 255.255.254.0
Technically, these two IPs are on the same subnet. I am seeing a "connection refused" response from the Server. Firewalls are off. Should JMeter be able to handle the ip's as provided above ?
JMeter relies on your operating system network settings, given both hosts are able to "see" each other - JMeter will be able to do this as well.
Your setup assumes hosts from x.y.76.1 to x.y.77.254 so it's a valid use case, you can double check it using i.e. Online IP Subnet Calculator
It's hard to say what exactly is wrong without seeing how you're launching JMeter master and slave and log files for both, RMI properties like client.rmi.localport, server.rmi.localport, java.rmi.server.hostname property, etc.
It might also be the case JMeter is trying to use IPv6 addresses so it might worth trying setting java.net.preferIPv4Stack property to true
See How to Perform Distributed Testing in JMeter article for more details and if you will be still experiencing problems consider providing more information on the above points.

How to login to Jenkins from any network

I’m an absolute beginner when it comes to setting up a Jenkins environment but I have just installed Jenkins on a MAC v10.15.5 using home-brew and would like the capability to:
Open a web browser
Login to Jenkins from any machine on any network
Trigger a job.
I’m able to do this using a different machine on the same network but unable to do this using a machine on a different network. I changed the "httpListenAddress" value within the jenkins-lts.plist file to 0.0.0.0 to allow the web interface to be accessible from anywhere as mentioned at https://www.macminivault.com/installing-jenkins-on-macos/ but apart from that I’m not sure where to go from here.
I’ve heard about Apache Tomcat but not sure if it's necessary for what I need to do. If anyone can provide instructions / safe approaches about how to login to the Jenkins environment on my MAC from any network that would be appreciated.
To get jenkins web interface use $JENKINS_HOST_IP:8080 (by default jenkins uses port 8080) and then make first-run-configure.
Login to Jenkins from any machine on any network - it depends on network topology, what is used in your organisation. So, to reach jenkins host from any network where should be allowed traffic from/into network where jenkins host is placed.
Trigger a job - where are a lot of triggers you can use. Take a look at official documentation here

Jmeter engine & threads query

What is Jmeter Engine ? Is it same as Jmeter instance we have on our machine ? .. I want to understand difference between Jmeter instance and Jmeter engine , also how can we setup multiple engines on same machine so that I can put more load on application through difference engines..
I read somewhere, where one of the Jmeter expert mentioned that we can use 300 vusers at a given time , is that correct ? I dont see any limit on vusers I use in Jmeter thread group.. I can enter any number.. please clarify
Yes, Jmeter engine and jmeter instance is related terminology. One Jmeter engine can generate one instance of jmeter.
Set-up for configuring two Jmeter engines on same machine:
Pre-requisite:
Jmeter should be installed on both machines
Steps:
1.Set-up master machine -
Add machine2 ip (slave machine ip) in jmeter.properties file of machine1 (master machine)
2.Set-up slave machine - Run Jmeter-server.bat from machine2. This will make machine2 as slave
3.Launch Jmeter from machine1. You will be able to see slave engine ip in remote start
4.You can use remote start option, this will run Jmeter test cases from both the machines

How can I install 'ServerAgent' on the Application server to monitor its performance using Jmeter?

I am using 'jp#gc - PerfMon Metrics Collector' Lister for this and as you know it requires 'ServerAgent' running on the connecting server.
Step by step instruction would be very helpful.
And also, if anyone knows of any better alternatives to monitor the servers using jmeter then please share with me, it would be a great help.
You can follow the below Steps:
Download ServerAgent2.2.1.zip file(URL: http://jmeter-plugins.org/downloads/all/)
Unzip and Paste the folder in the Machine where Server is hosted.
Run startAgent.sh(Linux) and startAgent.bat(Windows) in the Server Machine.
Get the Server IP and add the same in the Jmeter Properties File.
remote_hosts=
Add the (Perfmon metrics collector)Listener in the Test Plan.
Host/IP: Add the Server Host/IP
Port: By default 4444
Metrics to be collected: What metric you want to collect.

Resources