How to measure Network Throughput using iperf ?

iPerf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks. It supports tuning of various parameters related to timing, buffers and protocols (TCP, UDP, SCTP with IPv4 and IPv6). For each test it reports the bandwidth, loss, and other parameters. 

In this post, we will demo the steps required for testing network throughput on ARM based BeagleBoard. This steps should work for any embedded platform.

Cross Compile Iperf for ARM

 $ git clone https://github.com/esnet/iperf.git
$ cd iperf/

Assuming toolchain is located at /home/devlab/devlab/linaro/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf

$ export PATH=$PATH:/home/devlab/devlab/linaro/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin
$ mkdir out
$ ./configure --host=arm-linux-gnueabihf --prefix=/home/devlab/devlab/iperf/out
$ make
$ make install

* copy ./out/bin/iperf to /usr/local/bin of BeagleBoard(ARM platform) RFS.

On linux host

$ iperf -s

————————————————————

Server listening on TCP port 5001

Related :   Debugging ARM binary on Ubuntu Host using qemu ARM and GDB

TCP window size: 85.3 KByte (default)

————————————————————

[  4] local 192.168.0.200 port 5001 connected with 192.168.0.202 port 51887

connect failed: Connection refused

[ ID] Interval       Transfer     Bandwidth

[  4]  0.0-10.0 sec    222 MBytes    186 Mbits/sec

On BeagleBoard

root@beagleboard:~# iperf -c 192.168.0.200 -d

————————————————————

Client connecting to 192.168.0.200, TCP port 5001

TCP window size: 35.2 KByte (default)

————————————————————

[  3] local 192.168.0.202 port 51887 connected with 192.168.0.200 port 5001

————————————————————

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

————————————————————

Waiting for server threads to complete. Interrupt again to force quit.

[ ID] Interval       Transfer     Bandwidth

[  3]  0.0-10.0 sec    222 MBytes    186 Mbits/sec

root@beagleboard:~#

Reference’s:

http://openmaniak.com/iperf.php

http://unixfoo.blogspot.com/2009/02/iperf-network-throughput-measurement.html


lynxbee_ezoic

Subscribe with Valid Email Id to receive updates in Inbox. ( Secured by Google FeedBurner )

   


Leave a Comment

Android Android Build system Android Commands Android Java Applications Application Libraries Application Stack / User Interface Bash / Shell Scripts Bluetooth driver Cloud Technologies Commands and Packages Compilation Content Management System Core Kernel C Programs Development & Build Development, Debugging and Performance Tools Development Environment Setup Django & REST Api Errors & Failures Git Hardware Platforms HTML JAVA Programs Linux, OS Concepts and Networking Linux Device Drivers Linux Host, Ubuntu, SysAdmin Linux Kernel Linux Networking Middleware Libraries, HAL Multimedia Audio, Video, Images NDK / Middleware / HAL OS Concepts PHP Programming Languages Scripting and Automation Search Engine Optimisation ( SEO ) Social Media Source Code Management ( SCM ) System Administration, Security Testing and Debugging Uncategorized Web design and development Website Hosting Wordpress Yocto / Bitbake / Openembedded