NCMP De-Register API Performance

De-Register CM Handles (Removed CM Handles)

Test Configurations

#

Environment/Workload

Description

#

Environment/Workload

Description

1

Tested on 

laptop :
Processor :          Intel© Core™ i7-8750H CPU @ 2.20GHz × 6
Installed RAM :   32.0 GB
Edition :               Linux Mint 21.1

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 Expand source

4

Number of CPS Instance

1

5

Number Modules per Cm Handle

10

6

Commit ID (before improvement)

9c56b30 Fetch CM handles by collection of xpaths

7

Commit ID (improvement 1)

373cdf2 Skip deleting list xpaths that are list elements



#

Component

Configuration Parameters

Value

#

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

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)

#

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

758

1,000

5

Delete 5 children with grandchildren

222

232

225

300

6

Delete 10 list elements with keys

1,019

1,097

990

1,200

7

Delete 1 large data node with many descendants:

2,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)

#

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

Name

Max

Count

Sum (sec)

Avg (sec)

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