1.3.2. RTI Recording Service

The following tests have been performed by executing the RTI Perftest C++98 benchmark application between two nodes and RTI Recording Service in a third node, all of them connected to a switch via Ethernet. The communication has been restricted to a single interface and the transport has been set to UDPv4 multicast for the three applications.

In this test, we take advantage of multicast and the reliable Reliability QoS to measure the maximum throughput at which Recording Service is able to store samples. The scenario consists of an RTI Perftest Publisher and Subscriber performing a Maximum Throughput test via UDPv4 multicast. Then, a Recording Service instance records the Throughput topic. The principles on which we base this test are the following:

  • Since the communication is multicast, samples are only being sent once to the two Subscribers by the Publisher side.

  • Since the protocol uses strict reliability, all the samples need to be acknowledged by the Recording Service Subscriber as well as by the RTI Perftest Subscriber to be able to continue the communication.

  • Since Recording Service needs to store the data, it will always be slower than the RTI Perftest Subscriber.

Based on these principles, we can conclude that the received throughput seen by the Subscriber application will be the maximum throughput at which the Recording Service application is able to process and store the data. Therefore the measures obtained by Subscriber can be labeled as the Recording Service received Maximum Throughput.

Find the results for these tests below.

1.3.2.1. Unkeyed, UDPv4 1Gbps Network

The graph below shows the expected throughput behavior when performing a throughput test between an RTI Perftest Publisher and Subscriber, with Recording Service recording the Throughput topic.

Note

By default, RTI Perftest enables batching when performing a Maximum Throughput test. The batching feature allows sending more than one data sample per RTPS packet, improving network performance for small data sizes. See the RTI Connext DDS Core Libraries User’s Manual for more information on batching.

The batch maximum size is set by RTI Perftest to be 8192 bytes; after 8192 bytes, batching is not enabled.

Detailed Statistics

This table contains the raw numbers presented by RTI Perftest. These numbers are the exact output with no further processing.

Sample Size (Bytes)

Total Samples

Avg Samples/s

Avg Mbps

Lost Samples

Lost Samples (%)

32

12423425

207005

53.0

0

0.00

64

12461953

207653

106.3

0

0.00

256

11675777

194591

398.5

0

0.00

1024

4902664

81702

669.3

0

0.00

4096

1445837

24054

788.2

0

0.00

63000

106584

1776

895.1

0

0.00


Test Hardware

The following hardware was used to perform these tests:

Linux Nodes

Dell R340 Servers (13 Units)
Processor: Intel Xeon E-2278G (3.4-5GHz, 8c/16t, 16MB cache, 2 memory channels @2666MHz)
RAM: 4x 16GB 2666MHz DIMM (64GB RAM)
HD: 480GB SATA SSD
NIC 1: Intel 710 dual port 10Gbps SFP
OS: Ubuntu 20.04 -- gcc 9.3.0

Switch

Dell 2048 -- 10Gbps switch

1.3.2.2. Keyed, UDPv4 1Gbps Network

The graph below shows the expected throughput behavior when performing a throughput test between an RTI Perftest Publisher and Subscriber, with Recording Service recording the Throughput topic.

Note

By default, RTI Perftest enables batching when performing a Maximum Throughput test. The batching feature allows sending more than one data sample per RTPS packet, improving network performance for small data sizes. See the RTI Connext DDS Core Libraries User’s Manual for more information on batching.

The batch maximum size is set by RTI Perftest to be 8192 bytes; after 8192 bytes, batching is not enabled.

Detailed Statistics

This table contains the raw numbers presented by RTI Perftest. These numbers are the exact output with no further processing.

Sample Size (Bytes)

Total Samples

Avg Samples/s

Avg Mbps

Lost Samples

Lost Samples (%)

32

12253953

204228

52.3

0

0.00

64

12781441

212956

109.0

0

0.00

256

11748929

195801

401.0

0

0.00

1024

4986145

83096

680.7

0

0.00

4096

1461252

24353

798.0

0

0.00

63000

104261

1737

875.7

0

0.00


Test Hardware

The following hardware was used to perform these tests:

Linux Nodes

Dell R340 Servers (13 Units)
Processor: Intel Xeon E-2278G (3.4-5GHz, 8c/16t, 16MB cache, 2 memory channels @2666MHz)
RAM: 4x 16GB 2666MHz DIMM (64GB RAM)
HD: 480GB SATA SSD
NIC 1: Intel 710 dual port 10Gbps SFP
OS: Ubuntu 20.04 -- gcc 9.3.0

Switch

Dell 2048 -- 10Gbps switch