Guy Salton is a technical expert on the whole performance testing ecosystem - load testing tools, monitoring tools, CI tools, Networking and Infrastructure. His expertise is helping with POCs and special technical projects for strategic customers. Guy talks at conferences and meetups around the world, writes blog posts and gives webinars.

Become a JMeter and Continuous Testing Pro

Start Learning

Test Your Website Performance NOW! |

arrowPlease enter a URL with http(s)
Apr 09 2018

How to Load Test IPv6 with JMeter

IPv6 is the advanced version of IP, which is the address and identification system for computers and devices on the internet. Currently, most devices on the internet are identified in the network through IPv4. IPv4 is based on 32 bit addresses, represented by 4 decimal numbers with dots between them (e.g The need to create an advanced version of IP came from the concern that the number of possible IPs would run out, with the growing number of devices on the internet.


As a result, IPv6 was created, and it consists of addresses made of 128 bits, represented by 8 groups of four hexadecimal digits, separated by colons (e.g AB01:C002:0000:9067:DEFA:C79G:H333:BAC1). The length of these addresses can sometimes be shortened, learn more here.


IPv6 provides many more IP options than IPv4. However, it seems that IPv4 is currently sufficient for internet purposes as IP addresses are often recycled. This blog post will explain how to load test devices that use IPv6, with Apache JMeter™.


Creating Your JMeter Script for IPv6


JMeter’s HTTP Request Sampler supports IPv6 out of the box. If you set the ‘Server Name or IP’ field to an IPv6 address, for example 2001:cdba::3257:9652, JMeter will automatically wrap it with brackets to match the IPv6 format for HTTP requests when sent to the server. In this case, GET http://[2001:cdba::3257:9652]/.


The HTTP Request Sampler:


jmeter ipv6 script


See how the request is sent in the View Results Tree Listener:


open srouce ipv6 testing

Of course, if your website supports IPv6 and has a matching Server name in DNS, you can simply set the ‘Server Name or IP’ field in the HTTP Request Sampler to your server name, for example:


ipv6 with jmeter


You can see that this server name has an IPv6 address by running the curl -6 command with the verbose option in your console:


curl -6 -vvv 


load testing ipv6


As you can see, the system is trying to reach an IPv6 address.


Important: Don’t forget that in order to send an HTTP request to an IPv6 address, the machine that you are sending the request from, must also have an IPv6 address.


How to Set Up an IPv6 Machine with JMeter


If you are using a cloud provider like AWS to create your machines, you can follow its documentation to setup a VPC and Subnet that supports IPv6 addressing and then create a new machine on this VPC and Subnet. (Please note that this is not a free process).


performance testing ipv6


Once your machine is ready, you can verify that it has a public IPv6 address by running the following command:


ifconfig eth0 | grep "inet6 addr:"


running an ipv6 load test


The first IP on this list, which has Scope:Global after it, is your public IPv6 address.


Now, install JMeter on your new machine, copy your JMeter script and run the test in non-GUI mode with 1 thread for 1 iteration, just to see that you get a successful response:


./jmeter -n -t /home/ubuntu/ipv6.jmx -l /home/ubuntu/results.jtl


  • -n non-GUI mode
  • -t  JMX file
  • -l log file name of JTL file to log sample results to


ipv6 load testing guide


Great! You have now verified that you can run a load test on an IPv6 website with JMeter. Just adjust the script according your needs, and run it.


IPv6 Load Testing Reporting


But what about real-time reporting? The good news is that BlazeMeter supports IPv6!


Just follow the instructions in this article to install a BlazeMeter Private Location agent on the machine that you configured the IPv6 address on, and you should see a new agent on the ‘Private Locations’ section in your BlazeMeter account:


ipv6 jmeter tutorial


You can now create a new JMeter Test in BlazeMeter, upload the JMeter script that you created and choose the new Private Location that you installed as the location:


step by step jmeter ipv6 testing


That's it! You can now run your IPv6 load test in BlazeMeter and get real-time reporting and all the other BlazeMeter features like workspace collaboration and the ability to share your tests with non-technical audiences. To learn more, request a demo, or put your URL in the box below and your test will start in minutes.


ultimate guide for ipv6 testing

arrowPlease enter a URL with http(s)

Interested in writing for our Blog?Send us a pitch!