Network bandwidth between client and server

I was observing degradation in performance between my client and server on cloud deployment. I was researching if network latency was the issue and how to measure network bandwidth between client and server.

I started by looking at existing tools that would help my investigation. The first tool that i got interested based on my reading of blogs etc was Iperf3

From my experience so far, its very straight forward and easy to use. Its written in the C.

  1. Download the source code.

wget http://downloads.es.net/pub/iperf/iperf-3.1.6.tar.gz

tar -xvf iperf-3.1.6.tar.gz

cd iperf-3.1.6

  1. Next install the c compiler for building the source code.

My environment was AWS, so it easy to install development tools which has c compiler included (and more)

sudo yum groupinstall “Development Tools”

  1. Compile, build the iperf from code base.

sudo -s (I got some permission issue when it tried to install with ec2-user)

./configure; make; make install

(The build will fail on AIX because of this bug – https://github.com/esnet/iperf/issues/312)

  1. Start iperf on the server using the server mode option

./src/iperf3 -s

  1. Start iperf on the client using the client mode option

./src/iperf3 -x.x.x.x -t 10000

Larger image content at https://blogshri.files.wordpress.com/2017/08/iperf.jpg?w=1400

 

iperf

The iperf3 documentation has the details of all the option and possibilities.