QoS policy profiling

../../_images/nwpf-qos.png

This task runs TCP sessions and UDP flows between two Test Agents to verify QoS class based bandwidth shaping for up to six different QoS (quality-of-service) classes.

You can specify the total expected throughput between the Test Agents, and also its expected distribution among the QoS classes for which throughput is important. Throughput is measured as TCP bandwidth. Each measured rate is allowed to deviate from the expected value by a specified percentage. If any of these deviation thresholds is exceeded, the test fails.

The picture below shows an example with three QoS classes.

../../_images/nwpf-qos-partitioning.png

For QoS classes where delay is more important than throughput, you can measure UDP buffer delay instead of TCP bandwidth. The critical metric here is the difference (increase) in UDP buffer delay when TCP sessions in other QoS classes are running concurrently. A permissible UDP buffer delay deviation is specified for each class.

When the QoS policy profiling test starts, the UDP flows are started first and left running for 10 seconds. During this time, the average one-way delay is measured. Then the TCP sessions are also started, and one-way delay is measured once more for the UDP flows. All flows are then left running for the specified duration.

The difference between the UDP buffer delay values with and without the TCP traffic must not exceed the specified UDP delay deviation, otherwise the test fails.

The test also fails if any of UDP packet loss, (absolute) delay, or jitter goes above its respective threshold.

The DSCP and PCP (VLAN priority) value can be configured for each class.

The UDP flows are running at 50 kbit/s rate with configurable packet size.

When the TCP sessions are started, the results for the first 2–3 seconds are skipped in order to give the TCP sessions time to stabilize.

This task works only with IPv4.

Prerequisites

To run QoS policy profiling, you need to have two Test Agents installed. If you haven’t already done the installation, consult the installation guides found here.

Note that this task requires exclusive access to the Test Agents; no other tasks can be assigned to the Test Agents while it is executing.

Create a new test with a QoS policy profiling task and fill in the mandatory parameters below:

Parameters

All deviations are calculated as (measured - expected) / expected * 100%.

General

  • Server: The Test Agent interface that will act as server.

  • Client: The Test Agent interface that will act as client.

  • Traffic direction: Direction of TCP/UDP traffic. One of: Upstream (from client to server) or Downstream (from server to client). Default: Downstream.

  • Test duration (seconds): The duration of this test step in seconds. Min: 20 s. Max: 300 s. Default: 60 s.

  • Wait for ready: Time to wait before starting this test step. The purpose of inserting a wait is to allow all Test Agents time to come online and acquire good time sync. Min: 1 min. Max: 24 hours. Default: “Don’t wait”, i.e. zero wait time.

Aggregate

  • Total expected TCP rate (Mbit/s): The total expected TCP payload rate for all TCP sessions combined. Range: 0.1 … 10,000,000 Mbit/s. No default.

  • Max deviation from expected TCP rate (%): The allowed deviation from the expected total TCP rate, expressed as a percentage. Range: 0 … 100%. No default.

Advanced

  • Pause NTP on client: Pause the time synchronization during test. This might reduce time sync problems that can occur if the test is overloading the Test Agent management interface. Value: Yes or No. Default: No.

Class 1 … Class 6

  • Class name: The name of the QoS class. Default names are simply “1” … “6”.

  • Type of measurement: Bandwidth (TCP) or delay (UDP). Default: None.

  • Number of TCP streams: Number of TCP network flows. Range: 0 … 15. Default: 1.

  • Server port: The TCP or UDP server port. Range: 1 … 65535. Default: 5000.

  • DSCP value TCP/UDP: Differentiated Services Code Point used for the TCP or UDP flow. Range: 0 … 63. Default: 0.

  • VLAN priority (PCP): Priority Code Point in VLAN header. Range: 0 … 7. No default.

  • Expected TCP rate (%): The expected combined TCP rate in this class as a percentage of the total rate. Range: 0 … 100%. No default.

  • Allowed TCP rate deviation (%): The allowed deviation from the expected TCP rate. Range: 0 … 100%. No default.

  • Frame size for UDP: Ethernet frame size for the UDP flow. Range: 64 … 1518 bytes. Default: 1518 bytes.

  • Allowed UDP delay deviation (%): The allowed difference in UDP delay with concurrent TCP in other QoS classes as compared to the situation with no TCP. Range: 0 … 1000%. No default.

  • Loss threshold UDP (%): Maximum loss allowed for the UDP flow. Range: 0 … 100%. No default.

  • Delay threshold UDP (ms): Maximum (absolute) delay allowed for the UDP flow. Range: 0 … 1000 ms. No default.

  • Jitter threshold UDP (ms): Maximum jitter allowed for the UDP flow. Range: 0 .. 1000 ms. No default.

../../_images/nwpf-qos-params.png

Result metrics – TCP bandwidth

  • Measured rate (Mbit/s): TCP rate per class.

  • Measured rate (%): TCP rate per class as percentage of the total rate.

  • Rate deviation (%): The deviation from the expected TCP rate in percent.

  • Pass/fail outcome for TCP bandwidth.

Result metrics – UDP delay

  • Loss (%): The loss in the UDP flow before the TCP sessions are started.

  • Loss under load (%): The loss in the UDP flow under TCP load.

  • Delay (ms): The delay for the UDP flow before the TCP sessions are started.

  • Delay deviation (%): The delay for the UDP flow under TCP load.

  • Jitter (ms): The jitter for the UDP flow before the TCP sessions are started.

  • Jitter under load (ms): The jitter for the UDP flow under TCP load.

  • Pass/fail outcome for UDP delay.

The pictures below give some examples of results from a QoS policy profiling test.

The first screenshot shows measurements on a connection where three QoS classes share bandwidth according to a 60/30/10 partitioning.

../../_images/nwpf-qos-results-1.png

The second screenshot shows TCP bandwidth results for two QoS classes (“BC”, “BE”) and UDP delay results for a real-time QoS class (“RT”).

../../_images/nwpf-qos-results-2.png

Both measurement types have pass/fail criteria defined according to the above description.