1

Azure devops offers a great service to allow you to run a simple jmeter script (no custom samplers though, and only supports 3.2), with one click. however, this wont work for us, as the site we want to load test can only be seen with whitelisted IPs.

Azure does have support for setting up "Load test rig in a specific VNet for testing private apps" but this is far more complicated than we could get to work.

The option we could get to work was to create 4 large linux server, manually install jmeter SW on each, give each a fixed IP, then run our tests completely manually. However, we only test a few hours a week, so its expensive to have the server on the whole time. If we switch them off, they lose the IP, and we have to manually rebuild them each time.

We tried the subnet route. you can easily create a vlan with a subnet, and put the VMs in it. but then the problem is how to get this subnet to have an external IP/Gateway to "see" the outside world, and to allow me to SSH into each box to administer them. I tried setting up a firewall on the VLAN, but the firewall requires you setup a new subnet - you cant specify the subnet which your machines are in, which is a bit of a show stopper for non-networking gurus.

Perhaps another way is to put say 4 servers on the subnet, setup one to have a public static IP, set this as the default gateway for the other 3 servers, then at least if we keep the gateway server alive, we will keep the ip and network, even if we temporarily shut down the other 3 servers.

We are used to linode. If this was linode, we would createa stackscript (which is similar to a bash script run on vm creation but with parameters etc) to setup the server, security, networking and install vmware and users certificates. Whats the best way to do this on Azure? I.e. take some of the work out of creating jmeter servers? If this were AWS, I would see if there was a decent machine image of ubuntu with jmeter on it, but searching Azure marketplace, there is only some service by pnop which is paid for in addition to the cost of the VMs. No jmeter builds.

Note, we cannot us any service outside of Azure - our organisation will not purchase of any service other than those offered by Azure - so blazemeter etc. is out.

eos
  • 551
  • 4
  • 10
  • 27

1 Answers1

1

Have you considered Azure public static IP feature, this way you will be able to create 4 IP addresses and assign them to the newly created machines so machines will be up only for running the tests and can be terminated when they're not needed. If you need to rerun the test - just create the machines and assign static IP addresses to them

It might also be the case that you will be able to "cheat" and provide whitelisted IP addresses in the "Source Address" field of the HTTP Request sampler:

enter image description here

depending on the application IP filtering implementation it may be sufficient for your use case. Check out Using IP Spoofing to Simulate Requests from Different IP Addresses with JMeter for comprehensive instructions on setting up the feature.

Dmitri T
  • 551
  • 2
  • 2