CPS-2911: CM Handle Searches Only Return Top Level Data
References
CPS-2911: PoC CM Handle Searches only return top level data, report effect on K6 KPIClosed
KPI Performance Graphs (choose monthly view, builds #817 ~ #835)
Summary
This PoC consist of a small change to the production code so that all CM Handle (object) searches return only the data contained in the top level fragment i.e. no state data, no public or additional properties are included. The related fiedl in the java object simply remain blank or null.
No alternate data was added to the object i.e. no properties or state at top-level but this is expected to have an insignificant effect on the performance.
Note. Functional issue in 2 builds related to Trustlevel being null. Not sure how it is intermittent.
Failed builds: #816 Nodes didn't have correct state because the last build was interrupted/cancelled after a few minutes and a new test was started (for the PoC) without the normal clean up of the images/volumes etc.
Failed builds: #826 IO Issue, infrastructure, nothing to do with the PoC changes
Conclusion
The current KPI test sem to max out CPS)NCMP especially the DB access seems to be a bottleneck
Not including the child-object data for the cm handle searches (12.5 executions/minute) speed up those use-cases 4-5 times!
Since this significantly reduces the load on the DB other use-cases are indirect affected to and improve by 20-60%
Test Result Details
Test Name | Original | PoC | PoC | PoC | PoC | PoC | PoC | PoC Average | Factor | % Increase |
|---|---|---|---|---|---|---|---|---|---|---|
Registration of CM-handles | 81 | 101 | 79 | 83 | 79 | 78 | 82 | 84 | 1.0 | 3% |
De-registration of CM-handles | 190 | 179 | 182 | 189 | 186 | 179 | 177 | 182 | 1.0 | -4% |
CM-handle ID search with No filter | 759 | 687 | 653 | 638 | 659 | 628 | 646 | 652 | 1.2 | 16% |
CM-handle ID search with Module filter | 2,544 | 2,247 | 1,956 | 1,949 | 1,965 | 1,906 | 2,003 | 2,004 | 1.3 | 27% |
CM-handle ID search with Property filter | 1,668 | 1,428 | 1,362 | 1,444 | 1,365 | 1,461 | 1,466 | 1,421 | 1.2 | 17% |
CM-handle ID search with Cps Path filter | 1,783 | 1,550 | 1,466 | 1,463 | 1,468 | 1,467 | 1,460 | 1,479 | 1.2 | 21% |
CM-handle ID search with Trust Level filter | 1,918 | 1,717 | 1,437 | 1,442 | 1,467 | 1,424 | 1,503 | 1,498 | 1.3 | 28% |
CM-handle search with No filter | 20,636 | 4,436 | 3,919 | 3,831 | 3,941 | 3,666 | 3,924 | 3,953 | 5.2 | 422% |
CM-handle search with Module filter | 19,291 | 4,167 | 3,584 | 3,430 | 3,495 | 3,460 | 3,597 | 3,622 | 5.3 | 433% |
CM-handle search with Property filter | 20,386 | 5,072 | 4,091 | 4,278 | 4,077 | 4,140 | 4,315 | 4,329 | 4.7 | 371% |
CM-handle search with Cps Path filter | 20,774 | 5,369 | 4,116 | 4,182 | 4,189 | 4,046 | 4,355 | 4,376 | 4.7 | 375% |
CM-handle search with Trust Level filter | 21,126 | 6,061 | 4,645 | 4,801 | 4,823 | 4,733 | 5,034 | 5,016 | 4.2 | 321% |
NCMP overhead for Synchronous single CM-handle pass-through read with alternate id | 23 | 17 | 14 | 14 | 14 | 13 | 14 | 14 | 1.6 | 58% |
NCMP overhead for Synchronous single CM-handle pass-through write with alternate id | 23 | 17 | 14 | 14 | 14 | 13 | 14 | 14 | 1.6 | 60% |
Legacy batch read operation | 198 | 198 | 200 | 199 | 200 | 199 | 200 | 199 | N/A | N/A |
Write data job scenario - small | 69 | 67 | 37 | 39 | 38 | 43 | 45 | 45 | 1.5 | 53% |
Write data job scenario - large | 6,920 | 6,294 | 5,213 | 5,540 | 5,492 | 5,353 | 6,242 | 5,689 | 1.2 | 22% |
Graph Samples