Skip to content

Test Network and Connection Quality

Max edited this page Jan 11, 2021 · 12 revisions

Same as other network related applications, the performances of RollSite largely depends on proper configurations. So the actual network and connection quality is a prerequisite to well tune RollSite.

We provide 2 scripts to test the network and connection quality. They are iperf3 server and client.

iperf3 is an open source tool to measure IP networks. It can be installed via apt-get and yum in many Linux distributions and brew in Mac. For more information about iperf3, please visit https://iperf.fr/.

1. server

usage: ${EGGROLL_HOME}/bin/iperf3-server.sh ${port}

example: ${EGGROLL_HOME}/bin/iperf3-server.sh 9370

parameters:

port - specifies a port which iperf server binds to and listens on

2. client

usage: ${EGGROLL_HOME}/bin/iperf3-client.sh ${ip} ${port} ${bandwidth}

example: ${EGGROLL_HOME}/bin/iperf3-client.sh 192.168.0.1 9370 50m

parameters:

ip - specifies the ip address where the corresponding iperf3-server.sh runs port - specifies the port where the corresponding iperf3-server.sh runs bandwidth - specifies the bandwidth between the 2 sites

3. notes

3.1. iperf3-server.sh and iperf3-client.sh are run manually when needed (and possibly consented). Operators on both sites need to be coordinate to perform a network and connection test.

3.2. There are 8 tests in the client script:

  • a. TCP test at ${bandwidth}(bps) (e.g. at 10m), client to server;
  • b. TCP test at ${bandwidth}(bps) (e.g. at 10m), server to client;
  • c. TCP test at 1mbps, client to server;
  • d. TCP test at 1mbps, server to client;
  • e. TCP test at ${bandwidth}(bps) (e.g. at 10m), 10 parallel connection threads, client to server;
  • f. TCP test at ${bandwidth}(bps) (e.g. at 10m), 10 parallel connection threads, server to client;
  • g. UDP test at ${bandwidth}(bps) (e.g. at 10m), client to server;
  • h. UDP test at ${bandwidth}(bps) (e.g. at 10m), server to client.

Each test takes 10 sec so there is a total of 80 sec required. iperf3 prints certain logs and result on stdout. Via theses logs can we know the actual bandwidth and quality.