Installing Flent¶
Installing Flent can be done in several ways, depending on your operating system:
Debian and Ubuntu:
apt install flent
Ubuntu pre-18.04:
Add the tohojo/flent PPA.
Arch Linux:
Install Flent from the AUR.
Other Linux:
Install from the Python Package Index:
pip install flent
FreeBSD:
Install the package
pkg install flent
Or install the port
cd /usr/ports/net/flent && make install
macOS:
Homebrew and Python 3 must be installed (Python 3 can be installed using Homebrew)
Install the patched netperf package
brew tap kris-anderson/netperf brew install netperf-enable-demo
Install other dependencies
brew install fping pip3 install matplotlib --user
Install Flent using pip
pip3 install flent --user
Optional (install this if you want to use flent-gui)
pip3 install pyqt5 --user
Quick start¶
You must run netperf on two computers - a server and a client.
Server (Computer 1): Netperf needs to be started in “server mode” to listen for commands from the Client. To do this, install netperf on the Server computer, then enter:
netserver &
Note: Instead of installing netperf on a local server, you may substitute the netserver that is running on netperf.bufferbloat.net by using
-H netperf.bufferbloat.net
in the commands below.List of public hosts you can test against:
netperf.bufferbloat.net (also called netperf-east.bufferbloat.net)
netperf-west.bufferbloat.net
netperf-eu.bufferbloat.net
Client (Computer 2): Install netperf, then install flent on your Client computer. When you invoke flent on the Client, it will connect to the specified netserver (
-H
) and carry out the measurements. Here are some useful commands:RRUL: Create the standard graphic image used by the Bufferbloat project to show the down/upload speeds plus latency in three separate charts:
flent rrul -p all_scaled -l 60 -H address-of-netserver -t text-to-be-included-in-plot -o filename.png
CDF: A Cumulative Distribution Function plot showing the probability that ping times will be below a bound:
flent rrul -p ping_cdf -l 60 -H address-of-netserver -t text-to-be-included-in-plot -o filename.png
TCP Upload: Displays TCP upload speed and latency in two charts:
flent tcp_upload -p totals -l 60 -H address-of-netserver -t text-to-be-included-in-plot -o filename.png
TCP Download: Displays TCP download speeds and latency in two charts:
flent tcp_download -p totals -l 60 -H address-of-netserver -t text-to-be-included-in-plot -o filename.png
The output of each of these commands is a graphic (PNG) image along with a data file in the current working directory that can be used to re-create the plot, either from the command line (see Running Flent), or by loading them into the GUI. Run flent-gui to start the GUI.