CPS-2911: CM Handle Searches Only Return Top Level Data

CPS-2911: CM Handle Searches Only Return Top Level Data

References

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
Average

PoC
Build 828

PoC
Build 829

PoC
Build 830

PoC
Build 831

PoC
Build 832

PoC
Build 833

PoC Average

Factor

% Increase

Test Name

Original
Average

PoC
Build 828

PoC
Build 829

PoC
Build 830

PoC
Build 831

PoC
Build 832

PoC
Build 833

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

image-20250730-073337.png
image-20250730-073434.png