14. Using RTI Perftest with RTI Content-Filtered Topics

RTI Perftest can be used to test latency and throughput scenarios using Content-Filtered Topics (CFTs). This is specially useful in scenarios with many subscribers.

14.1. Using CFTs will allow you to:

  • Limit the number of data samples a DataReader has to process, which results in less CPU consumption.
  • Reduce the amount of data sent over the network.

14.2. Command-Line Parameters:

To enable the use of CFTs on the subscriber side, the following parameter is required:

  • -cft <start>:<end>

    Use a Content-Filtered Topic for the Throughput topic in the subscriber side. Specify 2 parameters: and to receive samples with a key in that range. Specify only 1 parameter to receive samples with that exact key.

If no parameter is specified on the publisher side, RTI Perftest will send as many instances as specified (using the -instances command-line parameter). However, you can change that behavior by using the following parameter:

  • -writeInstance <instance>

    Set the number of instances to be sent.

14.3. Example Command Lines for Running the Performance Test:

The following are examples of how to run RTI Perftest for the different scenarios using CFT.

14.3.1. Latency test, 1 Publisher and 2 Subscribers, Publisher sending to only 1 of them

  • RTI Perftest Publisher:
bin/<arch>/release/perftest_cpp -pub -noPrint -nic <ipaddr> -domain <ID> -numSubscribers 2 -latencyCount 1 -dataLen <length> -latencyTest -executionTime 100 -writeInstance 0 -keyed -instances 2
  • RTI Perftest Subscriber 1:
bin/<arch>/release/perftest_cpp -sub -noPrint -nic <ipaddr> -domain <ID> -dataLen <length> -sidMultiSubTest 0 -cft 0 -keyed
  • RTI Perftest Subscriber 2:
bin/<arch>/release/perftest_cpp -sub -noPrint -nic <ipaddr> -domain <ID> -dataLen <length> -sidMultiSubTest 1 -cft 1 -keyed

14.3.2. Latency test, 1 Publisher and 2 Subscribers, Publisher sending using a Round-Robin schedule

  • RTI Perftest Publisher:
bin/<arch>/release/perftest_cpp -pub -noPrint -nic <ipaddr> -domain <ID> -numSubscribers 2 -latencyCount 1 -dataLen <length> -latencyTest -executionTime 100 -keyed -instances 2
  • RTI Perftest Subscriber 1:
bin/<arch>/release/perftest_cpp -sub -noPrint -nic <ipaddr> -domain <ID> -dataLen <length> -sidMultiSubTest 0 -cft 0 -keyed
  • RTI Perftest Subscriber 2:
bin/<arch>/release/perftest_cpp -sub -noPrint -nic <ipaddr> -domain <ID> -dataLen <length> -sidMultiSubTest 1 -cft 1 -keyed