Skip to content

Flent v2.1.0

Compare
Choose a tag to compare
@tohojo tohojo released this 01 Nov 23:52
· 51 commits to master since this release
v2.1.0
1b6a72f

Released on 2022-11-02.

The main changes in this release are some reworking of process forking and
output parsing to make it scale better, improving performance with tests with
many runners. Another notable performance improvement is the addition of a cache
for the lookup of runner binaries.

Changes since v2.0.1 include:

  • Add --irtt-sampling-interval parameter to run irtt at a different sampling
    interval than the rest of the test.

  • Add 99th percentile data to text-based output formats (like the default
    summary after running a test).

  • Add --test-payload option to support sending custom data files as the TCP
    payload in netperf tests.

  • Add caching of the results of looking up and probing the binaries used by the
    various runners to speed up test startup especially when using the remote
    launch feature to run binaries over ssh. By default the cache is only kept in
    memory (for a single run of 'flent'), but it can be made persistent with the
    --cache-file argument.

  • Rework the process forking used to fork off processes to run the test
    utilities. This significantly speeds up running tests with many flows, to the
    point where it's now possible to spawn 1000 runner subprocesses on a
    moderately powerful laptop.

  • Offload runner output parsing to parallel subprocesses, meaning that runner
    output parsing can take advantage of all available cores. This is only enabled
    on Linux as the multiprocessing module is a bit flaky, leading to hangs, on
    OSX.

  • Fix several issues with ping and fping when using --local-bind

  • Fix some issues with parsing the output of 'ss', and share the parsing output
    so the output data is only parsed once when getting the output of multiple
    flows.

  • Make sure to pass the right options to force irtt to use the same IP version
    as the rest of the test utilities.

  • Fix parsing of D-ITG output.

  • Fix an annoying crash when starting a test from the GUI.