JPerf stands for Java Perf; it’s a GUI for running iPerf without having to bother learning the Command Line Interface (CLI) options. JPerf is a convenient tool to have in your belt. In this post you’ll learn how to use it and a trick to update it to the latest version. Be sure to note that JPerf supports iPerf version 2, and not the latest iPerf version 3.
Measure the speed of your internet protocol bandwidth with iperf. Iperf is a free app for Mac which can measure the speed of your internet bandwidth and determine if you are really given the correct allocation of bandwidth by your ISP. The app will give you your network's speed, delay, jitters, a potential for data loss, latency and ping. Iperf is a command-line tool designed to perform active network measurements in order to determine the maximum possible bandwidth. Unfortunately, while it certainly packs a lot of features, the lack of a graphical user interface reduces is accessibility. There is an alternative, however, as JPerf is.
First of all let’s see how to download it and launch it on Windows and MAC OS.
Jperf on MAC:
Jperf on Windows:
If everything goes as planned, you should see this JPerf window:
JPerf is just a wrapper for the iPerf executable that comes in the zipped file. By default, when you download JPerf, you get iPerf version 1.7.0 which dates back to 2003. Although optional, it’s a good idea to upgrade to a newer version of iPerf. Here is how to do that:
In more detail, here are the files that need to be copied from the unzipped iPerf 2.0.9 directory:
Here is how the jperf-2.0.2-win64/bin directory originally looks:
And here is what it looks like after copying the iPerf 2.0.9 files in it:
You will need to replace the old iperf.exe with the new one. Now when you run JPerf, you will be using iPerf version 2.0.9 from 2016 and not the outdated 1.7.0 version from 2003.
Now, let’s get to some action!
Obviously, the principles of JPerf follow those of iPerf: you need two hosts to send and receive traffic. You can use JPerf to set up two different laptops (as a client and a server) to send traffic between them. First, you have to start the JPerf server in order to listen for incoming traffic:
(If prompted by Windows to allow inbound traffic, then click “Allow Access”)
In green, you can see the command that is needed to run the same server on the command line interface.
When finished, you can stop the JPerf server from running on the laptop by using the “Stop IPerf!” button.
Now that the JPerf server is listening, it’s time to hit it with some traffic. On another laptop follow these steps:
Note that there has to be a route from the JPerf client to the JPerf server, and the port has to be open to receive traffic.
If everything goes well, you should see a plot like this one:
Congratulations! You have successfully run a JPerf bandwidth test!
Since JPerf uses iPerf on the backend, you can combine JPerf with iPerf. You can do this by running it on Linux or any other operating system as a server or a client.
Of course, JPerf/iPerf gives you a tone of options that you can tweak when you run your tests. You can learn more about iPerf by reading our posts here.