Announcing the Latest RTI Perftest for Connext DDS
Written by Javier Morales Castro
July 3, 2018
We are proud to announce the release of the latest version of our performance testing tool: RTI Perftest 2.4. This new release is mainly focused on improving the out-of-the-box experience when testing the performance of RTI Connext products. We aim to achieve this in three different ways:
1) Providing more (and clearer) information about the test that is running: What version of
RTI Perftest and what version of the
RTI Connext DDS Libraries are you using? Are you running a
Latency or a
Throughput test? How often are you sending the
Latency Samples? What kind of
Reliability are you using? All these questions were difficult to answer in previous versions of
RTI Perftest and you had to check the default values or the command line parameter you used. However we have addressed this issue in this new release by showing a summary of the test before you start getting results. Our new summary now looks like this:
$> perftest_cpp -pub -noPrint -domain 27 -latencyCount 100000 -scan
32:64:256:1024:8192:32768:63000 -exec 30 -nic lo0
RTI Perftest 2.3.2 (RTI Connext DDS 5.3.0)
Mode: THROUGHPUT TEST
(Use "-latencyTest" for Latency Mode)
Publisher ID: 0
Latency count: 1 latency sample every 100000 samples
Data Size: 32, 64, 256, 1024, 8192, 32768, 63000
Batching: 8192 Bytes (Use "-batchSize 0" to disable batching)
Publication Rate: Unlimited (Not set)
Execution time: 30 seconds
Receive using: Listeners
Dynamic Data: No
Asynchronous Publishing: No
XML File: perftest_qos_profiles.xml
Kind: UDPv4 & SHMEM (taken from QoS XML file)
Use Multicast: False
Waiting to discover 1 subscribers ...
Waiting for subscribers announcement ...
Sending 50 initialization pings ...
Publishing data …
2) Choosing our default settings carefully depending on the test RTI Perftest is running: RTI Perftest aims to always get the best performance for every scenario. This means that we need to make RTI Perftest choose wisely when it comes to the default settings it should use for each kind of test. Some of these settings changes can be really significant, such as moving from using only
Shared Memory as the default transports to be used, or identify if the test that is being run is a
Throughput test, and in such case use
Batching for small data sizes.
3) Reducing RTI Perftest’s memory consumption: We significantly reduced the memory consumption for RTI Perftest without having any impact on the overall performance.
These are just some of the features we have added to the new release. It also includes bug-fixes and other small enhancements to make the RTI Perftest compilation and execution even smoother.
We encourage you to try this new product!
RTI Perftest is available in several ways:
- You can clone it from our Github repository:
git clone -b release/2.4https://github.com/rticommunity/rtiperftest.git
- You can get the bundle with the source files from the release page.
- You can also directly download the compiled binaries for Windows, Linux and MacOS from the release page (mentioned above), without compiling it!
More information about our Official Performance Test Application and all of its capabilities can be found in our documentation.
In addition to this release, we want to take the chance to announce that RTI's Performance team will start a series of blog posts dedicated to explaining how to measure performance, how to use our measurement tools and how to get the maximum benefit from
RTI Connext DDS. Stay tuned for more!