Scalability and Performance Testing with the OpenDDS Bench Framework

In this complimentary, on-demand webinar, OpenDDS development team member, Tim Simpson, introduces Bench, a new performance-testing framework that's being developed to enable large-scale testing of OpenDDS discovery and transport mechanisms.

Potential OpenDDS users often have questions regarding the technology's performance, but it's always been difficult to answer specific questions about performance for particular applications in particular environments without first doing the work of developing test applications.

By taking advantage of the OpenDDS Bench framework, users can potentially design large-scale tests that run in their own custom testing environments with little to no need for application development.

When using OpenDDS Bench, test scenarios and process behaviors are defined in JSON configuration files and can then be run in a number of possible test environments, from bare metal to virtual machines to CI build processes. Bench "worker" process capabilities currently cover the static creation of most DDS entities and all OpenDDS configuration flags, as well as the publishing of data of configurable sizes and frequencies. This allows Bench users to rapidly prototype new test scenarios of OpenDDS processes and collect performance metrics for these test scenarios without the need to develop their own test processes.

In this 60-minute video, Tim Simpson:

  • Presents an overview of Bench, including current architecture and design
  • Covers, at a high level, the creation of scenario and worker configuration files
  • Demonstrates the use of the "test controller" and "node controller" processes in order to run scenario files
  • Discusses statistics collection
  • Looks at the OpenDDS Bench "performance dashboard" website, which is used to track performance for OpenDDS development changes
  • Explores potential future plans for Bench and answers attendee questions

Download Slide Deck

Meet the Speaker

Simpson, Timothy

Tim Simpson is a Principal Software Engineer at Object Computing and has worked on the OpenDDS team for more than three years. He has over 15 years experience in high performance and embedded C++ development, including work related to remote sensing, medical imaging, financial planning, and brokerage trading platforms.