Skip to content

Performance Test Case #68

@RichLogan

Description

@RichLogan

We want to setup a reproducible test case in order to profile performance of the relay. There are a number of metrics to capture, and test case steps to implement.

Measurements to capture

Host metrics

  • CPU % utilized per core
  • Memory usage
  • Network packets in/out (at the NIC)
  • Network bits in/out (at the NIC)

QuicR Metrics

Connection Level

  • Number of objects transmitted
  • Number of bytes transmitted
  • Number of objects received
  • Number of bytes received

Stream Level

  • Number of objects transmitted
  • Number of bytes transmitted
  • Number of objects received
  • Number of bytes received
  • Max latency from publisher enqueue timestamp to receive (microseconds)
  • Max latency from publisher transmit timestamp to receive (microseconds)
  • Max receive inter-object arrival time (microseconds)
  • Number of retransmits
  • Number of packets lost

Environment Setup

  • 1 relay host connection to >=1 client machines.
  • 1500 MTU (Jumbo TBD)
  • Set/discover optimal relay machine socket / buffer OS settings (TBD)
  • Set/discover relay machine CPU Affinity (TBD)

The Test Case

1 publisher, N subscribers.

The goal is to discover max(N) where all data published is received in a timely manner by all subscribers.

Setup prior to measurement collection

  • Publish audio track (A), datagram, priority 1
  • Publish video track (B), stream per group, priority 2
  • Establish N connections, subscribing to the published tracks (A & B)

Begin Test

  • 3 minute target run time
  • Publisher sends video data (A) at paced rate of 33ms, 10_000 bytes per object. Group rolls every 150 objects.
  • Publisher sends audio data (B) at paced rate of 20ms, 120 bytes per object. Change group every object.
  • Subscribes receive data once published

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions