From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
To: <cake@lists.bufferbloat.net>
Subject: [Cake] Exercising all cake tins in diffserv4 with flent
Date: Tue, 10 Nov 2015 11:18:24 +0000 [thread overview]
Message-ID: <5641D280.8030004@darbyshire-bryant.me.uk> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 500 bytes --]
Hi All,
Maybe someone will find this useful: Attached is a flent config for
exercising all of cake's diffserv tins in diffserv4 mode. Very much
based on rrul, in essence it runs at least 1 tcp stream in each tin. 2
streams are used in each tin for upload, only 1 stream per tin for
download - I was interested in upload fairness between tins & flows
within tins in a 'full on, everyone competing for everything' type test.
Well, it's kept me entertained for a few minutes :-)
Kevin
[-- Attachment #1.2: rrul8_splittin.conf --]
[-- Type: text/plain, Size: 11758 bytes --]
## -*- mode: python; coding: utf-8 -*-
## rrul test specification
include("netperf_definitions.inc")
DESCRIPTION="Realtime Response Under Load 4-way cake split-tin bake"
DEFAULTS={'PLOT': "all_scaled"}
DATA_SETS = o([
('TCP upload BE-1',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="CS0,CS0"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload BE-2',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="CS0,CS0"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload BK-1',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="CS1,CS1"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload BK-2',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="CS1,CS1"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload CS3-1',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="CS3,CS3"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload CS3-2',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="CS3,CS3"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload EF-1',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="EF,EF"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload EF-2',
{'command': find_netperf("TCP_STREAM", LENGTH, HOST, marking="EF,EF"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP upload avg',
{'apply_to': [glob("TCP upload*", exclude=["TCP upload sum"])],
'units': 'Mbits/s',
'runner': 'average',}),
('TCP upload sum',
{'apply_to': [glob("TCP upload*", exclude=["TCP upload avg"])],
'units': 'Mbits/s',
'runner': 'sum',}),
('TCP download BE',
{'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking="CS0,CS0"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP download BK',
{'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking="CS1,CS1"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP download CS3',
{'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking="CS3,CS3"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP download EF',
{'command': find_netperf("TCP_MAERTS", LENGTH, HOST, marking="EF,EF"),
'delay': DELAY,
'units': 'Mbits/s',
'runner': 'netperf_demo',}),
('TCP download avg',
{'apply_to': [glob("TCP download*", exclude=["TCP download sum"])],
'units': 'Mbits/s',
'runner': 'average',}),
('TCP download sum',
{'apply_to': [glob("TCP download*", exclude=["TCP download avg"])],
'units': 'Mbits/s',
'runner': 'sum',}),
('TCP totals',
{'apply_to': [glob("TCP*", exclude=["TCP download avg", "TCP download sum", "TCP upload avg", "TCP upload sum"])],
'units': 'Mbits/s',
'runner': 'sum',}),
('Ping (ms) UDP EF',
{'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST, marking="EF,EF"),
'data_transform': 'rr_to_ms',
'units': 'ms',
'runner': 'netperf_demo',}),
('Ping (ms) UDP BK',
{'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST, marking="CS1,CS1"),
'data_transform': 'rr_to_ms',
'units': 'ms',
'runner': 'netperf_demo',}),
('Ping (ms) UDP CS3',
{'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST, marking="CS3,CS3"),
'data_transform': 'rr_to_ms',
'units': 'ms',
'runner': 'netperf_demo',}),
('Ping (ms) UDP BE',
{'command': find_netperf("UDP_RR", TOTAL_LENGTH, HOST),
'data_transform': 'rr_to_ms',
'units': 'ms',
'runner': 'netperf_demo',}),
('Ping (ms) ICMP',
{'command': find_ping(IP_VERSION, STEP_SIZE, TOTAL_LENGTH, HOST),
'units': 'ms',
'runner': 'ping',}),
('Ping (ms) avg',
{'apply_to': [glob("Ping (ms)*")],
'units': 'ms',
'runner': 'average',}),
])
PLOTS = o([
('download',
{'description': 'Download bandwidth plot',
'type': 'timeseries',
'legend_title': 'TCP download',
'series': [{'data': 'TCP download BE',
'label': 'BE'},
{'data': 'TCP download BK',
'label': 'BK'},
{'data': 'TCP download CS3',
'label': 'CS3'},
{'data': 'TCP download EF',
'label': 'EF'},
{'data': 'TCP download avg',
'label': 'Avg',
'smoothing': 10,
'color': 'black',
'linewidth': 2}]}),
('download_scaled',
{'description': 'Download bandwidth w/axes scaled to remove outliers',
'parent': 'download',
'scaling': (5,95)}),
('upload',
{'description': 'Upload bandwidth plot',
'type': 'timeseries',
'legend_title': 'TCP upload',
'series': [{'data': 'TCP upload BE-1',
'label': 'BE-1'},
{'data': 'TCP upload BE-2',
'label': 'BE-2'},
{'data': 'TCP upload BK-1',
'label': 'BK-1'},
{'data': 'TCP upload BK-2',
'label': 'BK-2'},
{'data': 'TCP upload CS3-1',
'label': 'CS3-1'},
{'data': 'TCP upload CS3-2',
'label': 'CS3-2'},
{'data': 'TCP upload EF-1',
'label': 'EF-1'},
{'data': 'TCP upload EF-2',
'label': 'EF-2'},
{'data': 'TCP upload avg',
'label': 'Avg',
'smoothing': 10,
'color': 'black',
'linewidth': 2}]}),
('upload_scaled',
{'description': 'Upload bandwidth w/axes scaled to remove outliers',
'parent': 'upload',
'scaling': (5,95)}),
('ping',
{'description': 'Ping plot',
'type': 'timeseries',
'legend_title': 'Ping (ms)',
'axis_labels': ['Latency (ms)'],
'series': [
{'data': 'Ping (ms) UDP BE',
'label': 'UDP BE'},
{'data': 'Ping (ms) UDP BK',
'label': 'UDP BK'},
{'data': 'Ping (ms) ICMP',
'label': 'ICMP'},
{'data': 'Ping (ms) UDP EF',
'label': 'UDP EF'},
{'data': 'Ping (ms) UDP CS3',
'label': 'UDP CS3'},
{'data': 'Ping (ms) avg',
'label': 'Avg',
'smoothing': 10,
'color': 'black',
'linewidth': 2}]}),
('ping_scaled',
{'description': 'Ping w/axes scaled to remove outliers',
'parent': 'ping',
'scaling': (5,95)}),
('ping_cdf',
{'description': 'Ping CDF plot',
'type': 'cdf',
'axis_labels': ['Latency (ms)'],
'parent': 'ping',
'cutoff': (DELAY,DELAY)}),
('icmp_cdf',
{'description': 'ICMP CDF plot',
'type': 'cdf',
'axis_labels': ['Latency (ms)'],
'series': [{'data': 'Ping (ms) ICMP',
'label': 'Ping (ms)'},
],
'cutoff': (DELAY,DELAY)}),
('totals_bandwidth',
{'description': 'Total bandwidth',
'type': 'timeseries',
'series': [{'data': 'TCP download sum',
'label': 'Download',
'smoothing': 10},
{'data': 'TCP upload sum',
'label': 'Upload',
'smoothing': 10}]}),
('totals',
{'description': 'Total bandwidth and average ping plot',
'type': 'timeseries',
'dual_axes': True,
'axis_labels': [None, 'Latency (ms)'],
'series': [{'data': 'TCP download sum',
'label': 'Download',
'smoothing': 10},
{'data': 'TCP upload sum',
'label': 'Upload',
'smoothing': 10},
{'data': 'Ping (ms) avg',
'label': 'Ping (ms)',
'smoothing': 10,
'color': 'red',
'axis': 2}]}),
('totals_scaled',
{'description': 'Total bandwidth and average ping plot (scaled)',
'parent': 'totals',
'scaling': (5,95)}),
('all_scaled',
{'description': 'Download, upload, ping (scaled versions)',
'type': 'meta',
'subplots': ('download_scaled', 'upload_scaled', 'ping_scaled')}),
('all',
{'description': 'Download, upload, ping (unscaled versions)',
'type': 'meta',
'subplots': ('download', 'upload', 'ping')}),
('box_download',
{'description': 'Download bandwidth box plot',
'parent': 'download',
'type': 'box'}),
('box_upload',
{'description': 'Upload bandwidth box plot',
'parent': 'upload',
'type': 'box'}),
('box_ping',
{'description': 'Ping box plot',
'parent': 'ping',
'type': 'box'}),
('box_totals',
{'description': 'Box plot of totals',
'parent': 'totals',
'type': 'box',}),
('icmp_combine',
{'description': 'Combined ICMP ping plot',
'parent': 'icmp_cdf',
'type': 'timeseries_combine',
'group_by': 'groups_points',
'cutoff': None}),
('box_combine',
{'description': 'Box plot of averages of several data files.',
'type': 'box_combine',
'dual_axes': True,
'axis_labels': ['Mean TCP goodput (Mbit/s)', 'Mean induced latency (ms)'],
'cutoff': (DELAY,DELAY),
'series': [{'data': 'TCP download sum',
'label': 'Download',
'combine_mode': 'meta:MEAN_VALUE'},
{'data': 'TCP upload sum',
'label': 'Upload',
'combine_mode': 'meta:MEAN_VALUE'},
{'data': 'Ping (ms) avg',
'label': 'Induced latency (ms)',
'combine_mode': 'mean_span',
'axis': 2}]}),
('qq_icmp',
{'description': 'Q-Q plot of ICMP pings',
'type': 'qq',
'series': [{'data': 'Ping (ms) ICMP',
'label': 'Latency (ms)'},
]}),
('qq_download',
{'description': 'Q-Q plot of total download bandwidth',
'type': 'qq',
'series': [{'data': 'TCP download sum',
'label': 'Download (Mbps)'},
]}),
('qq_upload',
{'description': 'Q-Q plot of total upload bandwidth',
'type': 'qq',
'series': [{'data': 'TCP upload sum',
'label': 'Upload (Mbps)'},
]}),
('ellipsis',
{'description': 'Ellipsis plot',
'type': 'ellipsis',
'series': [{'data': 'Ping (ms) avg',
'label': 'Latency (avg)'},
{'data': 'TCP upload sum',
'label': 'Upload (Mbps)'}
]}),
('ellipsis_down',
{'description': 'Ellipsis plot',
'type': 'ellipsis',
'series': [{'data': 'Ping (ms) avg',
'label': 'Latency (avg)'},
{'data': 'TCP download sum',
'label': 'Download (Mbps)'},
]}),
('ellipsis_sum',
{'description': 'Ellipsis plot',
'type': 'ellipsis',
'series': [{'data': 'Ping (ms) avg',
'label': 'Latency (avg)'},
{'data': 'TCP totals',
'label': 'Throughput (Mbps)'}
]}),
])
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4816 bytes --]
reply other threads:[~2015-11-10 11:18 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5641D280.8030004@darbyshire-bryant.me.uk \
--to=kevin@darbyshire-bryant.me.uk \
--cc=cake@lists.bufferbloat.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox