GettingStarted:Performance Integration Tests
Develop either an integration test that either fails or warns if the controller drops below certain performance metrics.
While we have extensive unit test to test the correctness of various components of the system and even integration test to see how thing behave from a correctness standpoint when combined, we don't have mechanisms to test the overall performance of the controller and until recently, there have been reasons to believe that it was rather poor.
- A small test that use CBench to evaluate the performance a basic controller setup using the samples.reactiveforwarding (from the topic/performance/async branch) to actually provide the rules.
- As a sub-part of that, a CBench artifact for the nexus
- Some idea of what the current performance and the performance of the topic/performance/async branch to inform what we should set expected performance at.
- This mail on the mailing list covers the bulk of the performance work and details some of the process of setting up CBench: https://lists.opendaylight.org/pipermail/controller-dev/2013-August/000919.html
- The CBench tool to measure the performance of a controller can be found here: http://www.openflow.org/wk/index.php/Oflops
- The method for getting, building and installing CBench can be found at the manual linked there, but the documentation at the Floodlight project website appears to be simpler and more up to date.
Daniel Farrell is actively working on this. His code is being hosted in this GitHub repo.
This task is mentored by Colin Dixon either e-mail (email@example.com) or IRC (colindixon in #opendaylight on freenode) can reach him.