All Projects → rticommunity → rtiperftest

rticommunity / rtiperftest

Licence: EPL-1.0 License
RTI Perftest is a command-line application that measures the Latency and Throughput of very configurable scenarios that use RTI Connext DDS middleware to send messages.

Programming Languages

C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
C#
18002 projects
shell
77523 projects
c
50402 projects - #5 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to rtiperftest

Multi-Ping
No description or website provided.
Stars: ✭ 22 (-42.11%)
Mutual labels:  latency, latency-test
latenz
JavaScript HTTP latency analyzer
Stars: ✭ 18 (-52.63%)
Mutual labels:  latency, measure
Dgraph
Native GraphQL Database with graph backend
Stars: ✭ 17,127 (+44971.05%)
Mutual labels:  latency, throughput
zenoh-plugin-dds
A zenoh plug-in that allows to transparently route DDS data. This plugin can be used by DDS applications, such as ROS2 robotic applications and others, to leverage the zenoh for geographical routing or for better scaling discovery.
Stars: ✭ 60 (+57.89%)
Mutual labels:  dds
FogTorchPI
A probabilistic prototype for deployment of Fog applications.
Stars: ✭ 19 (-50%)
Mutual labels:  latency
vultr-pingtest
⌚ Test Latency from all Vultr VPS Locations
Stars: ✭ 40 (+5.26%)
Mutual labels:  latency
pydds
Python API for DDS
Stars: ✭ 22 (-42.11%)
Mutual labels:  dds
SimpleTypes
The universal PHP library to convert any values and measures (money, weight, currency converter, length, etc.).
Stars: ✭ 56 (+47.37%)
Mutual labels:  measure
mros2
agent-less and lightweight communication library compatible with rclcpp for embedded devices
Stars: ✭ 72 (+89.47%)
Mutual labels:  dds
mrouted
The original DVMRP (dynamic multicast routing) implementation for UNIX
Stars: ✭ 58 (+52.63%)
Mutual labels:  multicast
koa-yield-breakpoint
Add breakpoints around `yield` expression especially for koa@1.
Stars: ✭ 17 (-55.26%)
Mutual labels:  latency
useetv-playlist
No description or website provided.
Stars: ✭ 41 (+7.89%)
Mutual labels:  multicast
ScreenRuler
Configurable screen measuring tool for Windows
Stars: ✭ 147 (+286.84%)
Mutual labels:  measure
mdns-tunneller
Tunnels two (or more) mDNS domains together
Stars: ✭ 74 (+94.74%)
Mutual labels:  multicast
scte35-threefive
threefive is the highest rated SCTE35 parser, ever. maybe.
Stars: ✭ 75 (+97.37%)
Mutual labels:  multicast
benchmark-http
No description or website provided.
Stars: ✭ 15 (-60.53%)
Mutual labels:  latency
c2clat
A tool to measure CPU core to core latency
Stars: ✭ 37 (-2.63%)
Mutual labels:  latency
remote-calibrator
Measure screen size, track viewing distance and gaze, and more!
Stars: ✭ 12 (-68.42%)
Mutual labels:  measure
BioBalanceDetector
Bio Balance Detector's products aim to show the weak electromagnetic fields around every living being (including plants, animals and humans) and display it in a heat-map like hyper-spectral image.
Stars: ✭ 18 (-52.63%)
Mutual labels:  measure
mtr-monitor
Simple MTR runner with grafana and influxdb on board
Stars: ✭ 48 (+26.32%)
Mutual labels:  latency

RTI Perftest

RTI Perftest

RTI's Network Performance Benchmarking Tool
Explore the documentation »
Binaries · Download · Compile · Execution · Examples


Overview

RTI Perftest is a command line tool intended to measure the minimum latency, maximum throughput and loaded latency in a very configurable set of scenarios. It can help you answer questions such as:

  • For a given publishing configuration (e.g., queue size, batching settings), sample size, and subscribing configuration (e.g., queue size, Listener vs. WaitSet), what is the throughput of my network?
  • When my network is heavily loaded, what latency can I expect?
  • For a given configuration, what is the best-case latency with no other traffic on the network?

How does it work

The publishing side of the test writes data as fast as it can. Every few samples (configured through the command line), it sends a special sample requesting an echo from the subscribing side. It uses this ping -> pong exchange to measure the round-trip time latency (RTT) and then the one-way latency.

The publisher prints the latency test results while the subscriber prints the throughput results.

**RTI Perftest** Overview Diagram

RTI Perftest allows 2 operational modes: Throughput Test and Latency Test

Learn more here »

Features

RTI Perftest features include:

  • Supports RTI Connext DDS Professional and RTI Connext DDS Micro.
  • Suppots multiple platform including Windows, Linux, Mac, VxWorks or Android.
  • Supports multiple test setups - Multicast, One-to-many communication (Pub -> Sub), Latency test, Throughput test, Latency vs Throughput test.
  • Supports using raw transports (UDPv4 Sockets and Shared Memory segments).
  • Suports benchmarking Connext Pro and Micro features such as Flat Data and Zero Copy.

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Download

RTI Perftest bundle is provided in 3 different ways:

  1. Clone and compile from the official Github repository:
git clone https://github.com/rticommunity/rtiperftest.git
  1. Download and compile from: github.com/rticommunity/rtiperftest.

  2. Download the executables for popular platforms from: https://github.com/rticommunity/rtiperftest/releases in the “Binaries” section of the RTI Perftest release page.

To learn more about the supported platforms and installation, please refer to the Documentation.

Requisites

If you need to compile RTI Perftest these are the 2 main requisites. This is not needed if you downloaded the executables already compiled, you can skip this section.

  • RTI Connext DDS Professional or RTI Connext DDS Micro should be installed in the system where the build.sh script is going to run. The Target libraries for the platform to be generated should also be installed.
  • The $NDDSHOME environment variable should be set correctly. Alternatively, $NDDSHOME can be passed directly to the build.sh script by using the --nddshome <PATH> command-line option.
  • If you intend to compile and test using RTI Security Plugins, you will need to link against the OpenSSL libraries for your architecture.

Learn more here »

Compile

For Linux, MacOS, QNX, VxWorks, Lynx, and Android, RTI Perftest makes use of a script in the top level directory named build.sh. In order to build using build.sh you just need to invoke the script with the command-line parameters desired.

For example, for a given architecture (x64Darwin15clang7.0) for C++ (traditional and modern) and Java the command would be

./build.sh --platform x64Darwin15clang7.0

Learn more about compilation for other platforms and examples here »

Usage

The following are examples of how to run the performance test for two use cases:

  • The tests below print final results only; if you want to see intermediate values, remove the -noprint argument from the command line.
  • If you are running on two unequal machines---i.e., one machine is faster (has better processors) than another---you will see better performance by running the Publisher on the slower machine.

Example 1: 1-to-1, Unicast, Best Latency as a Function of Message Size

Publisher:

  bin/<arch>/release/perftest_cpp -pub -noPrint -nic <ipaddr> -dataLen <length> -latencyTest -executionTime 100

Subscriber:

  bin/<arch>/release/perftest_cpp -sub -noPrint -nic <ipaddr> -domain <ID> -multicast

Modify -dataLen <bytes> to see latencies for different data sizes. Set -executionTime <seconds> to be >=100 for statistically better results.

Example 2: 1-to-1, Multicast, Maximum Throughput as a Function of Message Size (with Batching)

Publisher:

bin/<arch>/release/perftest_cpp -pub -noPrint -nic <ipaddr> -dataLen <length> -batchSize <bytes> -multicast -executionTime 100

Subscriber:

bin/<arch>/release/perftest_cpp -sub -noprint -nic <ipaddr> -multicast

To achieve maximum throughput, start by setting See -batchSize <bytes> to 8192, then increase the size to see if you get better throughput.

Note: Batching will not be enabled if the data length is larger than 1/2 the batch size.

More examples

See more examples here »

Configuring RTI Perftest

See how to configure RTI Perftest here »

License

Distributed under the EPL License. See the license file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].