Reference:
Test Setup:
- RC2 - commit# f6a731a350138c06723d283a647262073dd0168b
- Using "app-intent-perf" as load generator; 10 Null Devices on each node;
- Bare-metal Servers: dual-Xeon E5-2670, 32GB DDR3 RAM, SSD, Cluster Network is 1Gbps
- JAVA_OPTS="${JAVA_OPTS:--Xms8G -Xmx8G}"
Test Procedure:
1) Run "app-intent-perf" on all nodes for 180 seconds;
2) Obtain install/remove throughput results from log (Overall Throughput, Ops = install + withdraw) on each node at the end;
3) scale cluster from 1 to 3, 5, 7 nodes, aggregate all nodes results as the cluster system throughput.
Result:
| 1-node | 3-node | 5-node | 7-node |
---|
Ops rate (numNeighbors - 0) | 35.0 | 88.9 | 109.3 | 128.0 | Ops rate (numNeighbors - all) | 36.4 | 81.6 | 118.5 | 158.9 |
|
Result Discussion:
- "app-intents-perf" only generate intents of "1-hop" intents, i.e. all intents are from a port of a switch to another port of the same switch;
- With numNeighbors set to 0, all intents/flows installed from a node are for local switches. With "numNeighbors" set to "all", these are the cases where the installed intents have neighbors of all active nodes in the cluster. For instances, with 3-node cluster test, the installed intents from each node will have neighboring of other two nodes - configuration wise, numNeighbors = 2.
- As shown from the results, Intent installation performance scales up with number of nodes in the cluster.