Master Script stress test - NLA report
- 1 Overview
- 2 Summary
- 3 Test Runs
- 4 Xlarge DB stress test
- 4.1 Memory Utilization
- 4.2 CPU Utilization
- 4.3 RDS CPU Utilization
- 5 2Xlarge DB stress test
- 5.1 Memory Utilization
- 5.2 CPU Utilization
- 5.3 RDS CPU Utilization
- 6 4 Hours stress test (xlarge DB)
- 6.1 Memory Utilization
- 6.2 CPU Utilization
- 6.3 RDS CPU Utilization
- 7 4Xlarge DB stress test
- 7.1 Memory Utilization
- 7.2 CPU Utilization
- 7.3 RDS CPU Utilization
- 8 Database analysis
- 9 Appendix
- 9.1 Infrastructure
- 10 Different configurations testing
- 10.1 Summary
- 10.2 Methodology/Approach
Overview
The purpose of this test is to define system behavior under stress load. Define (if exists) any anomalies, memory leaks, errors.
Summary
Few test sets was performed:
2,3,6,8 threads tests with xlarge (default) DB;
2,3,6,8 threads tests with 2xlarge DB;
test with longer (4 hr) duration for xlarge DB with 8 threads
3 threads test with 4xlarge DB.
During mos of a test we've observed that DB CPU usage reached 100% almost from the beginning of a test. For 2xlarge database size CPU usage decreased from 99,4% to 86.9% for 2 threads.
There is performance degradation with increasing load (from 2 threads to 3,6,8). See corresponding charts in Results and ComparisonS section
With increasing DB to 2xlarge performance degradation is not so rapid as it's for standard xlarge DB. However degradation pattern is the same for both test sets
For 90% of the workflows, degradation is above 50% with stress load compared to normal load. The top 10 most affected are (with response time degradation in %):
ILR_TC: Get ItemId - 709%
VIR_TC: inventory record monitoring - 579%
VTT_TC: Inventory View Instance Source - 531%
VRO_TC: View Vendor - 420%
LO_TC: View Ledgers - 335%
VB_TC: Inventory Choose Instance - 326%
VH_TC: Inventory View Holdings - 322%
VH_TC: Inventory Choose Holdings -308%
ETT_TC: Edit Bib RecordTagTable Group - 304%
VRO_TC: Edit Vendor - 289%
* - Stress load of 2 threads is 5-10 times (it depends on workflow) bigger than the average load
Recommendations & Jiras (Optional)
PERF-525: NLA: Improve performance of Fixed load testsClosed
It is recommended to increase database size to 2x large: General response time for all workflows is about 24% improved for 2xlarge database size compared to xlarge (for stress test) and improved about 23% for a normal load test. Tested with default services configuration and without Data Import.
Changes in configurations for services do not improve response time for workflows but for mod-circulation, it should be revised due to configuration issues found in the task definition: excessive parameters
"-XX:MetaspaceSize=88m -XX:MaxMetaspaceSize=128m -Xmx768m"If release versions for mod-source-record-storage will be 5.6.5 and for mod-source-record-manager - 3.6.2 then changes of parameters DB_MAXPOOLSIZE for both modules, and DB_CONNECTION_TIMEOUT for mod-source-record-storage needed to avoid
PERF-582 - Response 500 for NLA normal load test with Data Import job (2 SP) BLOCKED :
|
Test Runs
Test # | Test Conditions | Duration | Load generator size (recommended) | Load generator Memory(GiB) (recommended) | Notes (Optional) |
1. | 2 threads Master script | 60 mins | t3.xlarge | 14 | xlarge DB |
2. | 3 threads Master script | 60 mins | t3.xlarge | 14 | xlarge DB |
3 | 6 threads Master script | 60 mins | t3.xlarge | 14 | xlarge DB |
4 | 8 threads Master script | 60 mins | t3.xlarge | 14 | xlarge DB |
5 | 2 threads Master script | 60 mins | t3.xlarge | 14 | 2xlarge DB |
6 | 3 threads Master script | 60 mins | t3.xlarge | 14 | 2xlarge DB |
7 | 6 threads Master script | 60 mins | t3.xlarge | 14 | 2xlarge DB |
8 | 8 threads Master script | 60 mins | t3.xlarge | 14 | 2xlarge DB |
9 | 8 threads Master script | 4 hr | t3.xlarge | 14 | xlarge DB |
10 | 3 threads Master script | 60 mins | t3.xlarge | 14 | 4xlarge DB |
Results and Comparisons
Performance dependency with increasing load with xlarge DB
Workflow | 2 threads response times | 3 threads response times | delta 2 vs 3 threads | 6 threads response times | delta 3 vs 6 threads | 8 threads response times | delta 6 vs 8 threads |
|---|---|---|---|---|---|---|---|
AIE_TC: View Invoices Workflow | 7,191 | 6,991 | -0,2 | 11,612 | 4,621 | 14,218 | 2,606 |
BLS_TC: Blacklight simulation | 3,932 | 5,073 | 1,141 | 7,276 | 2,203 | 9,347 | 2,071 |
ETT_TC: Edit Bib RecordTagTable Group | 17,057 | 40,933 | 23,876 | 58,72 | 17,787 | 97,45 | 38,73 |
FYR_TC: Load Finance Ledgers Rollover | 0,39 | 0,522 | 0,132 | 0,536 | 0,014 | 0,773 | 0,237 |
ILR_TC: Create ILR | 1,482 | 2,414 | 0,932 | 2,446 | 0,032 | 3,072 | 0,626 |
ILR_TC: Get ItemId | 1,731 | 4,232 | 2,501 | 5,574 | 1,342 | 9,698 | 4,124 |
ILR_TC: Get RequesterId | 0,045 | 0,042 | -0,003 | 0,058 | 0,016 | 0,062 | 0,004 |
IO_TC: Create Invoices Workflow | 3,745 | 3,754 | 0,009 | 5,672 | 1,918 | 7,375 | 1,703 |
IO_TC: Delete Invoices Workflow | 3,158 | 3,151 | -0,007 | 5,2 | 2,049 | 6,682 | 1,482 |
IO_TC: Edit Invoices Workflow | 5,705 | 5,723 | 0,018 | 9,602 | 3,879 | 12,208 | 2,606 |
IO_TC: View Invoices Workflow | 2,53 | 2,54 | 0,01 | 4,07 | 1,53 | 5,067 | 0,997 |
IRO_TC: Delete Item | 6,702 | 15,339 | 8,637 | 19,647 | 4,308 | 32,794 | 13,147 |
IRO_TC: Edit Item | 6,69 | 15,567 | 8,877 | 18,724 | 3,157 | 29,134 | 10,41 |
IRO_TC: View Item | 11,602 | 31,375 | 19,773 | 39,99 | 8,615 | 62,725 | 22,735 |
LO_TC: Create Ledgers | 1,035 | 1,023 | -0,012 | 1,381 | 0,358 | 1,476 | 0,095 |
LO_TC: Delete Ledgers | 0,426 | 0,503 | 0,077 | 0,785 | 0,282 | 0,974 | 0,189 |
LO_TC: Edit Ledgers | 0,43 | 0,497 | 0,067 | 0,794 | 0,297 | 0,976 | 0,182 |
LO_TC: View Ledgers | 0,431 | 0,498 | 0,067 | 0,78 | 0,282 | 0,99 | 0,21 |
POO_TC Create Order | 3,047 | 2,779 | -0,268 | 3,668 | 0,889 | 4,369 | 0,701 |
POO_TC Delete Order | 2,252 | 2,182 | -0,07 | 3,034 | 0,852 | 4,458 | 1,424 |
POO_TC Edit Order | 3,375 | 3,365 | -0,01 | 4,524 | 1,159 | 6,428 | 1,904 |
POO_TC View Order | 1,987 | 2,03 | 0,043 | 2,658 | 0,628 | 3,915 | 1,257 |
PRO_TC: Create User | 2,257 | 2,356 | 0,099 | 2,84 | 0,484 | 3,009 | 0,169 |
PRO_TC: Delete User | 1,202 | 1,296 | 0,094 | 1,51 | 0,214 | 1,713 | 0,203 |
PRO_TC: Edit User | 2,447 | 2,613 | 0,166 |