How to test your network with PerfSONAR

Set up a single-node configuration to measure your network performance.
305 readers like this.
Command line prompt

Opensource.com

PerfSONAR is a network measurement toolkit collection for testing and sharing data on end-to-end network perfomance.

The overall benefit of using network measurement tools like PerfSONAR is they can find issues before they become a large elephant in the room that nobody wants to talk about. Specifically, with the right answers from the right tools, patching can become more stringent, network traffic can be shaped to speed connections across the board, and the network infrastructure design can be improved.

PerfSONAR is licensed under the open source Apache 2.0 license, which makes it more affordable than most tools that do this type of analysis, a key advantage given constrained network infrastructure budgets.

PerfSONAR versions

Several versions of PerfSONAR are available:

  • Perfsonar-tools: The command line client version meant for on-demand testing.
  • Perfsonar-testpoint: Adds automated testing and central management testing to PerfSONAR-tools. It has an archiving feature, but the archive must be set to an external node.
  • Perfsonar-core: Includes everything in the testpoint software, but with local rather than external archiving.
  • Perfsonar-toolkit: The core software; it includes a web UI with systemwide security settings.
  • Perfsonar-centralmanagement: A completely separate version of PerfSONAR that uses mass grids of nodes to display results. It also has a feature to push out task templates to every node that is sending measurements back to the central host.

This tutorial will use PerfSonar-toolkit; the tools used in this software include iPerf, iPerf3, and OWAMP.

Requirements

  • Recommended operating system: CentOS/RHEL7
  • ISO: Downloading the full installation ISO is the fastest way to get the software up and running. While there is a Debian version, it is much harder and more complicated to use.
  • Minimum hardware requirements: 2 cores and 4GB RAM
  • Recommended hardware: 200GB HDD, 4 cores, 6GB of RAM

Installing and configuring PerfSONAR

The installation is a quick CentOS install where you pick your timezone and configuration for the hard drive and user. I suggest using hard drive autoconfiguration, as you only need to choose "Install Toolkit" and follow the prompts from there.

 

PerfSonar welcome screen

Select your language.

 

Select your language

Select a destination.

 

Select the installation destination

After base installation, you see the Linux login screen.

 

Linux login

After you log in, you are prompted to create a user ID and password to log into PerfSONAR's web frontend—make sure to remember your login information.

 

Create user account

You're also asked to disable SSH access for root and create a new user for sudo; just follow the steps to create the new user.

 

Create sudo user account

You can use a provisioning service to automatically provide an IP address and hostname. Otherwise, you will have to set the hostname (optional) and configure the IP address.

Log into the web frontend

Once the base configuration is complete, you can log into the web frontend via http://ipaddress/toolkit or http://hostname/toolkit. The web frontend will appear with the name or IP address of the device you just set up, the list of tools used, a test result area, host information, global node directory, and on-demand testing.

These options appear on the right-hand side of the web page.

On-Demand Testing
Host Information

 

PerfSonar web frontend

For a single configuration mode, you will need another node to test with. To get one, click on the global node Lookup Service Directory link, which will bring you to a list of available nodes.

 

Available nodes

Pick an external node from the pScheduler Server list on the left. (I picked ESnet's Atlanta testing server.)

 

Select a node

Configure the node by clicking the Log In button and entering the user ID and password you created during base configuration.

 

Log into test node

Next, choose Configuration.

 

Configuration button

This takes you to the configuration page, where you can add tests to other nodes by clicking Test, then clicking +Test.

 

PerfSonar node configuration

After you click +Test, you'll see a pop-up window with some drop-down options. For this tutorial, I used One-Way Active Measurement Protocol (OWAMP) testing for one-way latency against the ESnet Atlanta node that is IPv4.

Side bar

  • The OWAMP measures unidirectional characteristics such as one-way delay and one-way loss. High-precision measurement of these one-way IP performance metrics became possible with wider availability of good time sources (such as GPS and CDMA). OWAMP enables the interoperability of these measurements.
  • IPv4 is a fourth version of the Internet Protocol, which today is the main protocol to most of the internet. IPv4 protocol defines the rules for the operation of computer networks on the packet-exchange principle. This is a low-level protocol that is responsible for the connection between the nodes of the network on the basis of IP Addresses.
  • The IPv4 node is a perfsonar testing node that only does network testing using the IPv4 protocols. The perfsonar testing node you connect to is the same application that is built in this documentation.

The drop-down should use the server's main interface. Confirm that the test is enabled (the Test Status switch will be green) and click the OK button at the bottom of the window.

 

Add a test

Once you have added the test information, click the Save button at the bottom of the page.

 

Save button

You will see information about all of the scheduled tests and the hosts they are testing. You can add more hosts to the test by clicking the Settings icon in the Actions column.

 

List of scheduled tests

The testing intervals are automatically set according to the recommended settings. If the test frequency increases, the tests will still run OK, but your hard drive may fill up with data more quickly.

Once the test finishes, click View Public Dashboard to see the data that's returned. Note that it may take anywhere from five minutes to several hours to access the first sets of data.

 

View Public Dashboard

The public dashboard shows a high-level summary dataset. If you want more information, click Details.

 

Details

You'll see a larger graph and have the option to expand the graph over a year as data is collected.

 

Expanded details graph

PerfSONAR is now up, running, and testing the network. You can also test with two nodes inside your network (or one internal network node and one external node).

What can you learn about your network?

In the time I've been using PerfSONAR, I've already uncovered the following issues:

  • Asymmetrical throughput
  • Fiber outages
  • Speed on circuit not meeting contractual agreement
  • Internal network slowdowns due to misconfigurations
  • Incorrect routes

Have you used PerfSONAR or a similar tool? What benefits have you seen?

What to read next
User profile image.
Tech nomad, working in about anything I can find. Evangelist of silo prevention in the IT space, the importance of information sharing with all teams. Believer in educating all and open source development. Lover of all things tech. All about K8s, chaos and anything new and shiny I can find!

7 Comments

Can I use PerfSONAR with public iperf3 servers from https://iperf.cc to test network capacity ?

You can add any public servers you can find. As far as capacity, the best I could say would be to do some math behind how much you have running now over the throughput at it's best and worst. Or do the math from each average throughput and how much you have running on the network.

In reply to by Max Bojan (not verified)

Great article! Tnx! But this url isnt avaible Downloading

I am done with the installation but can not access the web interface. Can you help me by giving the information about how to do that?

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.