CPS Core Performance
Test Environment
TODO: Laptop specs
Test data used complies with Open ROADM YANG model.
Storing data nodes
A number of openroadm device nodes will be stored using CpsService::saveData.
Device nodes | 1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
Time (seconds) | 0.295 | 2.36 | 4.36 | 7.15 | 9.76 | 11.50 | 14.77 | 18.43 | 19.79 | 22.16 | 26.54 |
Observations
- Storing data nodes has linear time complexity (as expected).
- Performance can be improved by enabling write batching (CPS-1795)
- There are edge cases with exponential complexity.
Updating data nodes
In this scenario, 1000 devices nodes are already defined. A number of these existing data nodes will be updated using CpsService::updateDataNodeAndDescendants.
Device nodes | 1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
Time (seconds) | 0.215 | 12.79 | 28.38 | 44.23 | 51.55 | 69.46 | 85.67 | 95.02 | 109.16 | 117.00 | 131.15 |
Observations
- Updating data nodes has linear time complexity (as expected).
- Updating is approximately 5.5 times slower than storing data nodes (even if the updated data is identical to the existing data).
Updating data leaves
In this scenario, 1000 devices nodes are already defined. The data leaves of a number of these existing data nodes will be updated using CpsService::updateNodeLeaves.
Device nodes | 1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
Time (seconds) | .201 | .266 | .276 | .280 | .317 | .379 | .385 | .465 | .485 | .520 | .561 |
Observations
- Updating data leaves has linear time complexity.
Reading data nodes
Cps Path Queries
Deleting data nodes
NCMP Performance
CM-handle registration
TODO Comparison of Kohn, London, Montreal (current) up to 40,000 CM handles
CM-handle deregistration
TODO Comparison of Kohn, London, Montreal (current) up to 40,000 CM handles