Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Query: cps/api/v1/dataspaces/openroadm/anchors/owb-msa221-anchor/node?xpath=/openroadm-devices/openroadm-device[@device-id='C201-7-13A-5A1']&include-descendants=true

Durations are average of 100 measurements

...

1 object containing all node as descendants (mainly one big list)

Query: cps/api/v1/dataspaces/openroadm/anchors/owb-msa221-anchor/node?xpath=/openroadm-device&include-descendants=true

All queries ran 10-reames

0 ??? Was this wrong ?!
PatchDevicesE2E duration (s)Fragment Query duration (s)Service duration (s)Object Size (KBMB)Object Size #FragmentsGraph

1) Baseline

https://gerrit.onap.org/r/c/cps/+/133482

1,00011.80<0.0311 *11.7403330.386,000

2,00028.50<0.0491 *28.4016660.7172,000
5,00087.00<0.1581 *86.8141,664,9857430,000
10,000201.00<0.4451*201.0083,329,970.3860,000

2)

https://gerrit.onap.org/r/c/cps/+/133511/2**

1,0000.50.22320.32130.3332,99786,000

2,0001.00.41740.55860.7665,994172,000
5,0002.51.08711.439416649851.7430,000
10,0007.2.92894.049033299703.3860,000
1,0003.01.26231.69173329970.386,000

2,0005.52.31733.17326659940.7172,000
5,00011.05.43345.591616649851.7430,000
10,00025.411.698713.661633299703.3860,000

*Only initial Hibernate query** , hibernate will lazily fetch data later which is reflected in E2E time

Observations:

  1. PathsSet #2  did perform better than the latest patch! Need to compare Daniel Hanrahan will follow up

Get nodes parallel

Fetch 1 device from a database with 10,000 devices

Bash parallel Curl commands, 1 thread executed 10 Sequential requests with no delays, average response times are reported

Query: cps/api/v1/dataspaces/openroadm/anchors/owb-msa221-anchor/node?xpath=/openroadm-devices/openroadm-device[@device-id='C201-7-13A-5A1']&include-descendants=true

007567134
PatchThreadsE2E duration (s)Succes RatioFragment Query duration (s)
https://gerrit.onap.org/r/c/cps/+/133511/1210.082100%0.2382
20.091100%0.0991
30.120100%1230.1271
50.1803100%0.1802
100.288399.9%0.2833
200.499599.5%0.4875
501.099.4%1.0.982
1002.344399.7%2.2713
2007.699.7%6.2252
50017.141.4%13.8338
10001,00015.30611.866

...

3 (many errors)26.0%11.9

Observations

  1. From 10 Parallel request (of 10 sequential request) the client can't always connect and we see time out error (succes ratio <100%)
    1. Sequential request are fired faster than actual responses so from DB perspective they are almost parallel request as well 
  2. Database probably already become bottleneck with 2 threads, effectively firening a total of 20 call very quickly. Its know that the DB connection pool/internal will slow down from 12 or more 'parallel' request

Graphs:

  1. Average E2E Execution Time
  2. Internal Method Counts (total)

Image Modified

Observations:

...