Member tenants sharing local instances (Quesnelia)
Overview
This document contains the results of testing Sharing local instances(SLI) for MARC Source records. PERF-904: Test Sharing Records' performance from member to central tenantClosed
Summary
Duration on three tenants cs00000int_0001-cs00000int_0003 for 1 SLI process is about the same and the average value is about 16 seconds. Duration on the last tenant during test execution cs00000int_0004 is about 6 seconds. For 2 parallel SLIs duration is about 16 seconds on first cs00000int_0001 tenant and 6,5 seconds on second tenant cs00000int_0002. For 3 parallel SLIs and for 4 parallel SLIs is about 16 seconds for all except the last tenant - 6 seconds.
Duration increased significantly if to compare with approximate 2 seconds in Poppy release.
After adding parameter
Dinventory.sharing.di.status.poll.interval.seconds=2 the duration decreased from 6 seconds to 2,9 seconds for SLI.No memory leak is suspected for SLI modules. Memory consumption grew for mod-inventory to 56% during 3-rd test and didn't change.
Maximum CPU utilization was about 15% on mod-inventory and mod-consortia-b 1VU-23%, 2VU-25%, 3VU-28%, 4VU-35%.
RDS CPU utilization were from 8% for 1VU and up to 10% for 4VU. That is twice less than in Poppy.
All SLI finished successfully(without erros). Error rate = 0
Recommendations and Jiras
It's important to add parameters to task definition to reduce local instance sharing time
"name": "JAVA_OPTS","value": " -Dinventory.sharing.di.status.poll.interval.seconds=2"
Test results
Test 1. Virtual user working sequentially on each of the 4 tenants.
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15974 | 0.06 | 0 | 15560 | 15967 | 16369 | 16482 |
cs00000int_0002 | 100 | 16004 | 0.06 | 0 | 15594 | 16016 | 16351 | 16377 |
cs00000int_0003 | 100 | 15523 | 0.06 | 0 | 15281 | 15503 | 15760 | 15852 |
cs00000int_0004 | 100 | 5998 | 0.16 | 0 | 5714 | 5975 | 6285 | 6941 |
Test 2. Virtual users working parallel on 2 tenants.
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15958 | 0.06 | 0 | 15571 | 15945 | 16311 | 16488 |
cs00000int_0002 | 100 | 6436 | 0.15 | 0 | 5982 | 6412 | 6802 | 8082 |
Test 3. Virtual users working parallel on 3 tenants
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15984 | 0.06 | 0 | 15554 | 15984 | 16269 | 16464 |
cs00000int_0002 | 100 | 15976 | 0.06 | 0 | 15613 | 15967 | 16323 | 16457 |
cs00000int_0003 | 100 | 5985 | 0.16 | 0 | 5655 | 5951 | 6308 | 7414 |
Test 4. Virtual users working parallel on 4 tenants
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15993 | 0.06 | 0 | 15630 | 15994 | 16302 | 16548 |
cs00000int_0002 | 100 | 15920 | 0.06 | 0 | 15554 | 15875 | 16315 | 16405 |
cs00000int_0003 | 100 | 15515 | 0.06 | 0 | 15281 | 15507 | 15729 | 15755 |
cs00000int_0004 | 100 | 5956 | 0.16 | 0 | 5656 | 5930 | 6288 | 7321 |
Results after mod-inventory module task definition update ("value": " -Dinventory.sharing.di.status.poll.interval.seconds=2")
Test 1. Virtual user working sequentially on each of the 4 tenants.
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15980 | 0.06 | 0 | 15613 | 15967 | 16332 | 16457 |
cs00000int_0002 | 100 | 15951 | 0.06 | 0 | 15583 | 15977 | 16321 | 16354 |
cs00000int_0003 | 100 | 15522 | 0.06 | 0 | 15263 | 15504 | 15755 | 15978 |
cs00000int_0004 | 100 | 2875 | 0.33 | 0 | 2603 | 2860 | 3130 | 3215 |
Test 2. Virtual users working parallel on 2 tenants.
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15972 | 0.06 | 0 | 15592 | 15994 | 16296 | 16405 |
cs00000int_0002 | 100 | 3311 | 0.28 | 0 | 1035 | 3448 | 3739 | 4692 |
Test 3. Virtual users working parallel on 3 tenants
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15986 | 0.06 | 0 | 15643 | 15978 | 16305 | 16416 |
cs00000int_0002 | 100 | 15957 | 0.06 | 0 | 15573 | 15949 | 16264 | 16472 |
cs00000int_0003 | 100 | 2850 | 0.33 | 0 | 2579 | 2814 | 3095.2 | 4225 |
Test 4. Virtual users working parallel on 4 tenants
Tenant | TTL REQ, COUNT | Average, MS | THRGHPT, REQ/SEC | ERRORS, COUNT | MIN, MS | MEDIAN, MS | PCT95, MS | MAX, MS |
|---|---|---|---|---|---|---|---|---|
cs00000int_0001 | 100 | 15965 | 0.06 | 0 | 15580 | 15964 | 16346 | 16473 |
cs00000int_0002 | 100 | 15959 | 0.06 | 0 | 15617 | 15962 | 16286 |
rounded values or separated by commas for better perception