...
...
...
...
...
...
...
...
...
...
...
...
...
Table of Contents |
---|
De-Register CM Handles (Removed CM Handles)
Test Configurations
# | Environment/Workload | Description |
---|---|---|
1 | Tested on | laptop : |
2 | Docker-compose | Docker-compose file: https://gerrit.onap.org/r/gitweb?p=cps.git;a=blob_plain;f=docker-compose/docker-compose.yml;hb=aa29f24b0da9b9d2c86a0c528357a17ff3d7a871 |
3 | cURL | De-Register CM Handles cURL |
4 | Number of CPS Instance | 1 |
5 | Number Modules per Cm Handle | 10 |
6 | Commit ID (before improvement) | |
7 | Commit ID ( |
improvement |
1) | 373cdf2 Skip deleting list xpaths that are list elements |
# | Component | Configuration Parameters | Value |
---|---|---|---|
1 | CPS | notifactions:enabled | true |
2 | CPS | config.additional.notification.data-updated.filters.dataspaces.enabled-dataspaces | "NON-EXISTING-DATASPACE" |
3 | NCMP | modules-sync-watchdog:async-executor:parallelism-level | 10 |
Test Results before any improvement
Total CM Handles
Total Time
CM handles/sec
...
#
...
Before deletion
...
After deletion
...
Deleted
...
Test Results after improvement 7421c69 Use native query to delete data nodes
Total CM Handles
Total Time
CM handles/sec
...
#
...
Before deletion
...
After deletion
...
Deleted
...
Spreadsheet: View file name Performance of CM Handle Deregistration.xlsx height 250
...
Summary of test results
Tests were performed after all CM handles are in the READY state.
Baseline 9c56b30 (11th January) | Commit 373cdf2 (27th February) | ||||
Total | Removed | Time (sec) | CmHandles/sec | Time (sec) | CmHandles/sec |
100 | 100 | 15.06 | 6.64 | 1.73 | 57.75 |
200 | 200 | 40.11 | 4.99 | 2.95 | 67.91 |
300 | 300 | 83.31 | 3.60 | 4.07 | 73.64 |
400 | 400 | 146.09 | 2.74 | 5.17 | 77.39 |
500 | 500 | 219.36 | 2.28 | 6.34 | 78.81 |
600 | 600 | 315.37 | 1.90 | 9.69 | 61.92 |
700 | 700 | 421.50 | 1.66 | 8.38 | 83.50 |
800 | 800 | 541.94 | 1.48 | 9.61 | 83.25 |
900 | 900 | 682.21 | 1.32 | 11.36 | 79.22 |
1000 | 1000 | 838.24 | 1.19 | 11.64 | 85.93 |
2000 | 2000 | 3189.52 | 0.63 | 22.38 | 89.35 |
3000 | 3000 | 7074.47 | 0.42 | 32.19 | 93.18 |
4000 | 4000 | 12199.83 | 0.33 | 45.63 | 87.66 |
5000 | 5000 | 19045.40 | 0.26 | 56.23 | 88.92 |
10000 | 154.95 | 64.54 | |||
20000 | 413.68 | 48.35 |
Deregistration Performance-230227.ods
Delete performance scenario on Nordix : (Commit id : 7421c69)
# | Test Scenario | Nordix Build 1 (ms) | Nordix Build 2 (ms) | Nordix Build 3 (ms) | Groovy test deleteDurationInMillis (ms) | |||
---|---|---|---|---|---|---|---|---|
1 | Delete root node with many descendants | 165 | 168 | 166 | 200 | |||
2 | Delete data nodes for an anchor | 172 | 210 | 169 | 250 | |||
3 | Delete 50 grandchildren (that have no descendants): | 304 | 232 | 263 | 350 | |||
4 | Delete 5 whole lists with many elements | 796 | 852 | 7581000 | 1,000 | |||
5 | Delete 5 children with grandchildren | 222 | 232 | 225 | 300 | |||
6 | Delete 10 list elements with keys | 1019 | 10971,019 | 1,097 | 9901200 | 1,200 | ||
7 | Delete 1 large data node with many descendants: | 2008 | 1938 | 2136 | 25002,008 | 1,938 | 2,136 | 2,500 |
Delete performance scenario on Nordix : (Commit id : 230b111)
# | Test Scenario | Nordix Build 1 (ms) | Nordix Build 2 (ms) | Nordix Build 3 (ms) | Nordix Build 4 (ms) | Average (ms) | Groovy test deleteDurationInMillis (ms) |
---|---|---|---|---|---|---|---|
1 | Delete 5 children | 249 | 259 | 251 | 263 | 256 | 350 |
2 | Batch delete 100 children | 216 | 227 | 230 | 231 | 226 | 350 |
3 | Delete 50 grandchildren | 234 | 361 | 304 | 254 | 283 | 350 |
4 | Batch delete 500 grandchildren | 226 | 234 | 227 | 219 | 227 | 350 |
5 | Delete 5 whole lists | 1,120 | 1,156 | 1,047 | 1,124 | 1112 | 1,500 |
6 | Batch delete 100 whole lists | 310 | 311 | 340 | 329 | 323 | 350 |
7 | Delete 10 lists elements | 501 | 499 | 476 | 492 | 492 | 750 |
8 | Batch delete 500 lists elements | 230 | 238 | 227 | 223 | 230 | 350 |
9 | Delete one large node | 214 | 233 | 251 | 226 | 231 | 300 |
10 | Batch delete one large node | 156 | 182 | 156 | 176 | 168 | 300 |
11 | Delete root node | 168 | 173 | 166 | 166 | 168 | 300 |
12 | Delete data nodes for anchor | 170 | 172 | 164 | 168 | 168 | 300 |
Instrumentation sample #1
- Register, read and de-register 1,000 CM Handles
- Docker environment on Laptop
- Commit: https://gerrit.onap.org/r/c/cps/+/132960
Name | Max | Count | Sum (sec) | Avg (sec) |
---|---|---|---|---|
CPS Custom Instrumentation | ||||
cps_utils_yangparser_nodedata_with_parent_parse | 0.121 | 3,000 | 1.128 | 0.000 |
cps_ncmp_lcm_events_publish | 0.131 | 4,000 | 1.061 | 0.000 |
cps_ncmp_cmhandle_state_update_batch | 5.886 | 15 | 33.485 | 2.232 |
cps_ncmp_inventory_persistence_schemaset_delete | 0.130 | 1,000 | 13.132 | 0.013 |
cps_data_service_datanode_batch_delete | 0.060 | 1,000 | 1.525 | 0.002 |
cps_ncmp_inventory_controller_update | 49.925 | 2 | 62.482 | 31.241 |
cps_data_service_list_delete | 0.172 | 1,000 | 25.226 | 0.025 |
cps_data_service_datanode_get | 0.558 | 4,057 | 283.310 | 0.070 |
cps_data_service_list_element_batch_save | 0.000 | 15 | 11.980 | 0.799 |
cps_data_service_datanode_descendants_batch_updat | 5.776 | 15 | 19.923 | 1.328 |
cps_ncmp_inventory_persistence_datanode_get | 0.230 | 2 | 0.242 | 0.121 |
Hibernation Auto Generated Instrumentation | ||||
FragmentRepository | ||||
findByAnchorAndCpsPath | 118 | 0.985 | 0.008 | |
identifyNewModuleReferences | 1,000 | 6.559 | 0.007 | |
findByName | 2,242 | 17.978 | 0.008 | |
deleteOrphans | 1,000 | 5.670 | 0.006 | |
getResourceIdsByModuleReferences | 1,000 | 6.366 | 0.006 | |
findAllBySchemaSet | 1,000 | 0.379 | 0.000 | |
save | 1,000 | 1.475 | 0.001 | |
findAllByChecksumIn | 1,004 | 1.857 | 0.002 | |
findByAnchorIdAndParentXpath | 3,002 | 12.050 | 0.004 | |
findByAnchorAndMultipleCpsPaths | 1 | 0.077 | 0.077 | |
findRootsByAnchorId | 2,059 | 102.334 | 0.050 | |
deleteByAnchorIn | 1,000 | 0.630 | 0.001 | |
findByDataspaceAndAnchorAndXpath | 4,000 | 2.365 | 0.001 | |
DataspaceRepository | ||||
findAll | 1 | 0.006 | 0.006 | |
saveAll | 1,019 | 6.940 | 0.007 | |
AnchorRepository | ||||
findByDataspaceAndName | 16,237 | 10.307 | 0.001 | |
save | 1,000 | 1.138 | 0.001 | |
delete | 1,000 | 0.094 | 0.000 | |
YangResourceRepository | ||||
saveAll SUCCESS | 1 | 0.014 | 0.014 | |
savaAll ERROR | 4 | 0.208 | 0.052 | |
insertSchemaSetIdYangResourceId | 1,000 | 1.081 | 0.001 | |
SchemaSetRepository | ||||
findByDataspaceAndName | 5,001 | 3.525 | 0.001 | |
delete | 1,000 | 0.135 | 0.000 | |
save | 1,000 | 1.104 | 0.001 |
Instrumentation sample #2
- Register, read and de-register 20,000 CM Handles
- Docker environment on Laptop
- Commit: https://gerrit.onap.org/r/c/cps/+/133420
- Results: deregister-2023-02-27T20:23:58+00:00-20000-20000.tsv