JPerf – graphical interface wrapper for Iperf

Iperf was one of the earliest apps covered at this blog (second only to Opera) and I still happily use it. Strangely, until recently I had completely missed JPerf utility that equips Iperf with graphical interface to escape horrors of command line setup.

What it does

If you are not acquainted with Iperf – it is one of the most flexible tools to run bandwidth test, although somewhat limited by being command line utility.

JPerf comes equipped with Iperf and its only goal is to take command line out of setup picture.


It lists all of extensive options available for running Iperf in either server or client mode. In addition console feedback is shown in interface as well and there is graph that plots bandwidth in real time when test is running.

Strong features

Aside from ease of setup it is also important that you don’t need JPerf on either or both sides of the pipe. It shows command line for settings you chose and that can be easily used with Iperf on its own.

Makes it easier to bear command line but doesn’t cut advantages of using command line.


App is little clunky and is served in form of Java applet. Java Runtime is required for it to work and launching app is handled by provided BAT file. Not something you see a lot lately. :)


Keeps advanced (if not unmatched) functionality of bandwidth tests and complements with decent setup usability.

Download http://sourceforge.net/projects/iperf/files/

Related Posts


  • ariesta #

    I am interested with jperf How do I install jperf at my machine?? I use Ubunu 9.10 Karmic amd64 Thanks 4 reply
  • Rarst #

    @ariesta Don't have Ubuntu virtual machine ready to test at moment. As far as I see you should unpack jperf archive and run jperf.sh file. You also might to install Java Runtime, I don't remember does it come by default on Ubuntu or not. Sorry I can't help with more details, if it fails search or ask on Ubuntu forums - they have reputation of helpful bunch. :)
  • ariesta #

    @ Rarst Thanks for your reply. What do you mean "Don't have Ubuntu Virtual Machine ready to test at moment"? I install virtual machine to try ubuntu server. But for instalation jperf package, I use my main machine (Ubuntu Desktop). I have done jperf installation that you have suggested.. But I still not install jperf, although I can install iperf before Result of error : root@achilles:/home/ariesta/Desktop/jperf-2.0.2# ./jperf.sh bash: ./jperf.sh: Permission denied root@achilles:/home/ariesta/Desktop/jperf-2.0.2# sudo ./jperf.sh sudo: ./jperf.sh: command not found
  • Rarst #

    @ariesta I meant that I am primarily Windows user. :) I only mess with Ubuntu on virtual machines and I don't have one ready at moment. Sorry but no idea on that shell error. :( Not my area of expertise.
  • Adriana #

    I had the same problem. First i run the command chmod +x jperf.sh I tried again ./jperf.sh but it didn't work because I didn't had Java installed. I installed Java and now it works the command. Hope this helps!
  • Rarst #

    @Adriana Thanks for your input! I hope it will resolve issue for other Linux users.
  • vignesh #

    @Rarst how to use this kind of software? and i need port number.
  • Rarst #

    @vignesh Port can be set in interface, it defaults to 5001. What exactly do you have trouble with?
  • ninie #

    i've install java on my debian 5 but jperf still doesnt work..plz help
  • Rarst #

    @ninie Had you tried what Adriana suggested above? Sorry, as I mentioned - personally I am Windows user so have little advice to offer about Linux systems.
  • ninie #

    i've tried like adriana but still cant..may b my step is wrong..can u give me the step by step to run jperf.
  • Saurabh #

    @ninie What is the error message you are receiving?
  • safiah #

    is there a way to regulate the bandwidth
  • Rarst #

    @safiah I am not sure what you mean. The whole purpose of this one is to see how much bandwidth you can get out of connection. You can limit time or amount of data passed, but I see no sense to cap bandwidth for such test.
  • Caio #

    when i try to execute the jperf.exe it just does not work and a message: Could not find the main class. Program will exit. Please help me!
  • Rarst #

    @Caio Do you have Java Runtime Environment installed? Preferably up to date version. Which OS are you on and which file do you use to launch jperf? I think it should be .bat for Windows and .sh for Linux.
  • Caio #

    Thank you Rarst! Right now it works, but i would like to know the meaning of the graphic! For example, I am using my pc in a mode server (with jperf)and I have a iperf in my mobile (client mode). What is the meaninig of the green graphic? Yellow graphic? and red graphic? The green graphic is the throughput from the PC to the mobile? Or from the mobile to the pc? Please helpe me with the meaning of the graphic`s color!
  • Rarst #

    @Caio I don't remember graph colors being meaningful there, they are just to distinguish sessions or something (as far as I remember). It just shows bandwidth through network interface. By default I think it's from client to server, but you can play with settings for other modes.
  • Caio #

    I am a new jperf user sorry about all these questions! What the ID number is? The legend of the graphic #1872 what is this number? In a dual mode the faster is Server to PC or PC to server...! Actually i can`t find witch one is the upload or download bandwith...please help me! Thanks
  • Rarst #

    @Caio Sorry, it has been a while since I last actively used it and I am fuzzy on details. :) If you have trouble interpreting graph try to make sense of text log, it should be quite detailed about process.
  • Jyotirmaya Mohanty #

    Hi, I am trying to run TCP Unidirectional and given the proper command in Teraterm. Also I am runnning Jperf.While clicking on Run Iperf it is showing error in Jperf: bin/iperf.exe -s -P 0 -i 1 -p 5001 -f k bind failed: Permission denied Done. Also in Teraterm following error is showing Broken Pipe:Write2Failed. Can somebody help on this
  • Rarst #

    @Jyotirmaya Mohanty From couple quick google searches my guess would be that you are trying to use it on port that is already occupied. But I hadn't ever had this issue myself, so can't say for sure.
  • NAEEM #

    Cuold you help me, how I can setup and execute iperf on windows 7 and in the same time on windpws xp on VM TO test UDP.
  • Rarst #

    @NAEEM I am not sure what you are using for VM, native Win7 functionality? I hadn't worked with that. In general (as I am used to with VirtualBox) your VM should be connected to host OS via some kind of virtual network adapter, so you should look for that connection and use IPs from it for setup.
  • CC Hsiang #

    can I use this tool to do TCP or UDP connection scale test/stress test? e.g. open 1000 TCP connections with variable sizes of data transmitted.
  • Rarst #

    @CC Hsiang There is an options called "Parallel Streams", but I am not entirely sure what it does. Overall it seems to be designed to test data transfer rather than amount of connections.
  • gautami #

    I am trying to find an equivalent application of jperf on android. Is there any jperf available for android
  • Rarst #

    @gautami I am not aware of one, but I hadn't searched for such.
  • gautami #

    @Rarst Hi Rarst, Is it possible to recompile the Jperf code (which for linux) on Android. If so, can you provide some inputs. Thanks a much Gautami
  • Rarst #

    @gautami Sorry, I have no experience with Android development. My guess would be that it is not an easy or straightforward task.
  • Nipun #

    Can we get the bandwidth graph using iperf commandline interface without using jperf?
  • Rarst #

    @Nipun I don't think iperf builds graphs by itself, but you probably can get data out and graph it with some other tool. I remember once building graphs in excel from ping output. :) Hadn't used this in a while so not sure.
  • Joe #

    Hi Rarst, Im using Windows but cant run my jperf. Can you please advice on this. Tq
  • Rarst #

    @Joe Do you have Java Runtime installed? Getting any error messages?