File: quickstart.rst

package info (click to toggle)
flent 2.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,156 kB
  • sloc: python: 11,662; ansic: 626; sh: 257; makefile: 225; javascript: 72; xml: 58
file content (130 lines) | stat: -rw-r--r-- 3,656 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
Installing Flent
----------------
Installing Flent can be done in several ways, depending on your operating system:


- **Debian and Ubuntu:**

    .. code-block:: bash

      apt install flent

- **Fedora:**

    .. code-block:: bash

      dnf install flent

- **Gentoo:**

    .. code-block:: bash

      emerge net-analyzer/flent

- **Ubuntu pre-18.04:**

  Add the `tohojo/flent PPA <https://launchpad.net/~tohojo/+archive/ubuntu/flent>`_.

- **Arch Linux:**

  Install Flent from `the AUR <https://aur.archlinux.org/packages/flent>`_.

- **Other Linux:**

  Install from the `Python Package Index <https://pypi.python.org/pypi/flent>`_:
  
    .. code-block:: bash

      pip install flent

- **FreeBSD:**

  Install the package

    .. code-block:: bash

      pkg install flent

  Or install the port
  
    .. code-block:: bash

        cd /usr/ports/net/flent && make install

- **macOS:**

  `Homebrew <https://brew.sh/>`_ and Python 3 must be installed (Python 3 can be installed using Homebrew)

  Install the `patched netperf package <https://github.com/kris-anderson/homebrew-netperf>`_

    .. code-block:: bash

      brew tap kris-anderson/netperf
      brew install netperf-enable-demo

  Install other dependencies

    .. code-block:: bash

      brew install fping
      pip3 install matplotlib --user

  Install Flent using pip

    .. code-block:: bash

      pip3 install flent --user

  Optional (install this if you want to use `flent-gui`)

    .. code-block:: bash

      pip3 install pyqt5 qtpy --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 :option:`-H
   netperf.bufferbloat.net<-H>` 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 (:option:`-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 :doc:`options`), or by loading them into the
GUI. Run :command:`flent-gui` to start the GUI.