PTF - LOC all workflows testing (RELC)
Overview
- In this report, PTF conducts performance testing to identify the appropriate environment scale that will ensure the fulfillment of the NFRs outlined in ASA NFRs. The goal is also to identify potential bottlenecks in the system that may require code changes to optimize performance and meet the specified requirements. PERF-1079 - Getting issue details... STATUS
Summary
During testing with different configurations, we observed that once OpenSearch exceeded 80% of its SPU capacity, performance was significantly impacted, leading to degraded ASA operations. As a result, we determined that the ASA load with additional traffic on the PTF-LOC environment should not exceed 80% of OpenSearch's SPU capacity. Therefore, we will use the r7g.4xlarge instance type to maintain optimal performance.
- During ASA testing with extra load on the PTF-LOC environment, OpenSearch SPU utilization reached 62%, compared to 52% without the extra load. We expected that OpenSearch CPU utilization would increase to 70% with the additional load, as in Test 1, where 31 sessions were lost due to insufficient capacity.
Additionally, we found that operations involving the "CONTAINS_ALL" search criterion were significantly slower, with response times 6 to 12 times higher compared to other criteria.
Despite the extra load on the PTF-LOC environment, overall performance remained stable, with variations of less than 5%.
NFR_007 - Performance degradation should be less than 10% for each block of active users, which meets the NFR requirements.
NFR_006 - The 95th percentile of response time is greater than 1 second, which does not match the NFR due to the use of the "CONTAINS_ALL" search criterion. However, the 99th percentile of response time is less than 2 seconds, which meets the NFR, even with "CONTAINS_ALL" included.
NFR_004 - The 95th percentile of response time exceeds 2 seconds for some "CONTAINS_ALL" operations, which does not match the NFR, but all other ASA operations match the NFR.
- The total number of searching and viewing operations is 31 per second. Since we lost 31 user sessions, we can infer that the operations are close to 33 per second, which meets the NFR requirements.
Test Runs
| Test # | Description | Status |
|---|---|---|
| Test №1 | Ran the Master Script with 14 different flows as extra load on the PTF-LOC environment and ASA test. | Completed 31 sessions was lost |
| Test №2 | Ran the ASA test without extra load on the PTF-LOC environment. | Completed 29 sessions was lost |
Test Results
This table contains response times and percentage degradation for API Load Testing with a Gradual Increase of Users Per Block tests.
| transaction | Number Of Samples | Expected Response | Expected Load | Actual Responce | Actual Load | pct90 | NumOfErrors | Error Rate (%) |
|---|---|---|---|---|---|---|---|---|
| TC_LS: Open advanced search | 927 | 2000 | 7/s | 121 | 0,542 | 290 | ||
| TC_LS: Open-Main-Page | 2062 | 2000 | 261 | 1,17 | 288 | |||
| TC_LS:1.1Keyword-ContainsAll_|_Title-ContainsAll_|_DateRange-AllTime | 76 | 2000 | 1104 | 0,214 | 2435 | |||
| TC_LS:1.2Keyword-ContainsAll_|_Title-ContainsAll_|_DateRange-5years | 89 | 2000 | 961 | 0,231 | 2012 | |||
| TC_LS:1.3Keyword-ContainsAll_|_Title-ContainsAll_|_DateRange-CustomRange | 89 | 2000 | 1076 | 0,225 | 2009 | |||
| TC_LS:2.1Keyword-StartWith_|_Title-ContainsAll_|_DateRange-AllTime | 85 | 2000 | 1026 | 0,21 | 2490 | |||
| TC_LS:2.2Keyword-StartWith_|_Title-ContainsAll_|_DateRange-5years | 92 | 2000 | 1201 | 0,219 | 2473 | |||
| TC_LS:2.3Keyword-StartWith_|_Title-ContainsAll_|_DateRange-CustomRange | 100 | 2000 | 1625 | 0,217 | 3779 | |||
| TC_LS:3.1Keyword-ContainsAll_|_Title-ContainsAll_|_Author-ContainsAll_|_DateRange-AllTime | 95 | 2000 | 904 | 0,221 | 1697 | |||
| TC_LS:3.2Keyword-ContainsAll_|_Title-ContainsAll_|_Author-ContainsAll_|_Subject-ContainsAll_|_DateRange-AllTime | 82 | 2000 | 1084 | 0,222 | 2535 | |||
| TC_LS:3.3Keyword-ContainsAll_|_Title-ContainsAll_|_Author-ContainsAll_|_DateRange-AllTime_|_Format-other | 76 | 2000 | 875 | 0,214 | 2055 | |||
| TC_LS:3.4Keyword-ContainsAll_|_Title-ContainsAll_|_Author-ContainsAll_|_DateRange-AllTime_|_Format-other_]_Language-English; | 60 | 2000 | 846 | 0,214 | 1817 | |||
| TC_LS:3.5Keyword-ContainsAll_|_Title-ContainsAll_|_Author-ContainsAll_|_DateRange-AllTime_|_Format-other_]_Language-Englis_|_Location-Main Library | 84 | 2000 | 1479 | 0,227 | 2908 | |||
| TC_LS:Format: SourceTypes Other | 93 | 2000 | 1030 | 0,219 | 3707 | |||
| TC_LS:Language:Undetermined | 79 | 2000 | 3043 | 0,232 | 19772 | |||
| TC_LS:Location:Annex | 106 | 2000 | 1057 | 0,23 | 2742 | |||
| TC_LS:Open 2nd page | 946 | 2000 | 1126 | 0,565 | 2561 | 2 | 0,211 | |
| TC_LS:Open 3rd page | 855 | 2000 | 1065 | 0,533 | 2607 | 4 | 0,468 | |
| TC_LS:Open-Instance-page | 6028 | 2000 | 143 | 3,33 | 259 | 7 | 0,116 | |
| TC_LS:PublicationYear: Past5Years | 80 | 2000 | 913 | 0,229 | 3751 | |||
| TC_LS:Publisher:NotIndetified | 95 | 2000 | 799 | 0,216 | 1916 | |||
| TC_LS:Search-by-author | 455 | 2000 | 1087 | 0,285 | 2905 | 1 | 0,22 | |
| TC_LS:Search-by-keyword | 341 | 2000 | 1233 | 0,242 | 2698 | |||
| TC_LS:Search-by-subject | 227 | 2000 | 1513 | 0,211 | 2528 | |||
| TC_LS:Status:Available | 443 | 2000 | 1631 | 0,325 | 2574 | |||
| TC_LS:Status:Available&Location:Annex | 83 | 2000 | 1135 | 0,214 | 2807 | 1 | 1,2 | |
| TC_LS:Status:Available&Location:Annex&PublicationYear: Past5Years | 97 | 2000 | 1215 | 0,228 | 2745 | |||
| TC_LS:Subject: Electronic books | 90 | 2000 | 1991 | 0,222 | 9504 | |||
| TC_main_AIE: Click action pay - Paying Invoices | 4 | 10000 | 3 | 1512 | 0,2 | 1556 | ||
| TC_main_AIE: View Invoices Workflow cs00000int - View Invoices | 9 | 10000 | 6 | 1937 | 0,2 | 3712 | ||
| TC_main_AIE_AIE_SC: Invoices Approve - Approve Invoices | 4 | 10000 | 3 | 429 | 0,2 | 455 | ||
| TC_main_AIE_SC: Invoices Edit Save - Edit Invoices (via UI) | 8 | 10000 | 6 | 163 | 0,2 | 186 | ||
| TC_main_AIE_SC: Invoices and invoice lines Create Save - Create Invoices | 8 | 2000 | 6 | 339 | 0,2 | 399 | ||
| TC_main_APO: Load invoice| Create |Add POLine 85| Workflow cs00000int | 13 | 120000 | 127367 | 0,2 | 157281 | |||
| TC_main_ASA: Searching | 2566 | 2000 | 1 | 202 | 1,45 | 587 | ||
| TC_main_ASA: Searching (contains_all) | 284 | 2000 | 0.2 | 1978 | 0,278 | 4951 | ||
| TC_main_ASA: View Record | 2518 | 2000 | 1 | 221 | 1,43 | 382 | ||
| TC_main_ASA: View Record (contains_all) | 284 | 2000 | 0.2 | 718 | 0,284 | 1818 | ||
| TC_main_BE: HOLDINGS_RECORD In-app edit cs00000int_0001 | 1 | 1 | 448613 | 0,2 | 448613 | |||
| TC_main_BE: ITEM_ in-app edit cs00000int_0001 | 1 | 1 | 92036 | 0,2 | 92036 | |||
| TC_main_BE: USER in-app edit cs00000int_0001 | 1 | 1 | 41682 | 0,2 | 41682 | |||
| TC_main_BE_INSTANCE in-app edit cs00000int | 1 | 1 | 102210 | 0,2 | 102210 | |||
| TC_main_CICO: Scan item - Check In | 40 | 2000 | 30 | 742 | 0,211 | 1234 | ||
| TC_main_CICO: Scan item - Check Out | 54 | 2000 | 45 | 862 | 0,225 | 1344 | ||
| TC_main_CL Confirm Mediated request - Mediated requests | 3 | 6000 | 3 | 9090 | 0,2 | 9208 | ||
| TC_main_CSI:Share local instance cs00000int - Sharing Instances | 2 | 3 | 15974 | 0,2 | 16006 | |||
| TC_main_CSI:Share local instance cs00000int_0001 - Sharing Instances | 4 | 4000 | 3 | 6539 | 0,2 | 6636 | ||
| TC_main_CSI:Share local instance cs00000int_0002 - Sharing Instances | 3 | 4000 | 3 | 6535 | 0,2 | 6577 | ||
| TC_main_CSI:Share local instance cs00000int_0003 - Sharing Instances | 3 | 4000 | 3 | 6523 | 0,2 | 6601 | ||
| TC_main_CSI:Share local instance cs00000int_0004 - Sharing Instances | 3 | 4000 | 3 | 2598 | 0,2 | 6542 | 1 | 33,3 |
| TC_main_DI: Importing MARC records workflow Transaction cs00000int_0001 - DI - Authority Create 10k_authority_Create.mrc | 1 | 10000 | 1 | 389606 | 0,2 | 389606 | ||
| TC_main_DI: Importing MARC records workflow Transaction cs00000int_0002 - DI - Authority Create 10k_authority_Create.mrc | 1 | 10000 | 1 | 389536 | 0,2 | 389536 | ||
| TC_main_DI: Importing MARC records workflow Transaction cs00000int_0003 - DI - Authority Create 10k_authority_Create.mrc | 1 | 10000 | 1 | 395030 | 0,2 | 395030 | ||
| TC_main_DI: Importing MARC records workflow Transaction cs00000int_0004 - DI - Authority Create 10k_authority_Create.mrc | 1 | 10000 | 1 | 390079 | 0,2 | 390079 | ||
| TC_main_EI: Export 5000 Invoice cs00000int | 5 | 6 | 54939 | 0,2 | 58315 | |||
| TC_main_ERW: Exporting-Receiving-Information-to-CSV cs00000int - Receiving: downloading | 27 | 10000 | 17868 | 0,2 | 20012 | |||
| TC_main_ETT Save Edit tag table - quickMARC: Editing MARC bib records | 214 | 2000 | 200 | 1139 | 0,256 | 1434 | 4 | 1,87 |
| TC_main_FFBA: Create Budget for Fund cs00000int - Create Budget | 3 | 10000 | 3 | 256 | 0,2 | 332 | ||
| TC_main_FFBA: View Funds cs00000int - Loading funds | 3 | 10000 | 3 | 535 | 0,2 | 550 | ||
| TC_main_FFBA_SC: ActionsDecrease - Allocation Decrease | 4 | 10000 | 3 | 515 | 0,2 | 569 | ||
| TC_main_FFBA_SC: ActionsIncrease - Allocation increases | 4 | 10000 | 3 | 529 | 0,2 | 568 | ||
| TC_main_FFBA_SC: Load Fund | 3 | 10000 | 3 | 630 | 0,2 | 739 | ||
| TC_main_FFBA_SC: Press save - Edit Funds | 3 | 10000 | 3 | 877 | 0,2 | 924 | ||
| TC_main_FFBA_SC: Prress_Save_Fund - Creating new funds | 3 | 10000 | 3 | 68,6 | 0,2 | 87 | ||
| TC_main_GET_opac-inventory/instances/InstanceID - View Locate | 6028 | 2000 | 3 | 133 | 3,33 | 251 | 7 | 0,116 |
| TC_main_GET_opac-rtac/rtac - Searching Locate | 4918 | 2000 | 2 | 1066 | 2,72 | 2688 | 8 | 0,163 |
| TC_main_ILR: Create ILR_cs00000int_0001 - Item-level Requests | 7 | 2000 | 8 | 462 | 0,2 | 540 | ||
| TC_main_ILR: Create ILR_cs00000int_0002 - Item-level Requests | 8 | 2000 | 8 | 457 | 0,2 | 522 | ||
| TC_main_ILR: Create ILR_cs00000int_0003 - Item-level Requests | 8 | 2000 | 8 | 482 | 0,2 | 540 | ||
| TC_main_ILR: Create ILR_cs00000int_0004 - Item-level Requests | 8 | 2000 | 8 | 471 | 0,2 | 577 | ||
| TC_main_IRO: Create Items cs00000int_0001 | 2 | 2000 | 3 | 589 | 0,2 | 821 | ||
| TC_main_IRO: Create Items cs00000int_0002 | 3 | 2000 | 3 | 441 | 0,2 | 464 | ||
| TC_main_IRO: Create Items cs00000int_0003 | 3 | 2000 | 3 | 420 | 0,2 | 477 | ||
| TC_main_IRO: Create Items cs00000int_0004 | 3 | 2000 | 3 | 535 | 0,2 | 589 | ||
| TC_main_IRO_Click_Delete - Delete Item | 12 | 2000 | 12 | 584 | 0,2 | 1030 | ||
| TC_main_LO_Finance Ledgers Edit Save - Edit Ledger | 2 | 2000 | 3 | 131 | 0,2 | 135 | ||
| TC_main_LO_SC: Finance Ledgers Choose - View Ledger | 4 | 2000 | 3 | 245 | 0,267 | 303 | ||
| TC_main_LO_SC: Finance Ledgers Create Save - Create Ledger | 2 | 2000 | 3 | 158 | 0,2 | 174 | ||
| TC_main_ListApp: Holdings cs00000int | 1 | 90000 | 1 | 12662 | 0,2 | 12662 | ||
| TC_main_ListApp: Holdings cs00000int_0001 | 1 | 90000 | 1 | 13498 | 0,2 | 13498 | ||
| TC_main_ListApp: Holdings cs00000int_0002 | 1 | 90000 | 1 | 143413 | 0,2 | 143413 | ||
| TC_main_ListApp: Holdings cs00000int_0003 | 1 | 90000 | 1 | 347453 | 0,2 | 347453 | ||
| TC_main_ListApp: Holdings cs00000int_0004 | 1 | 90000 | 1 | 12835 | 0,2 | 12835 | ||
| TC_main_ListApp: Instance cs00000int | 1 | 90000 | 1 | 28420 | 0,2 | 28420 | ||
| TC_main_ListApp: Instance cs00000int_0001 | 1 | 90000 | 1 | 28430 | 0,2 | 28430 | ||
| TC_main_ListApp: Instance cs00000int_0002 | 1 | 90000 | 1 | 12229 | 0,2 | 12229 | ||
| TC_main_ListApp: Instance cs00000int_0003 | 1 | 90000 | 1 | 13410 | 0,2 | 13410 | ||
| TC_main_ListApp: Instance cs00000int_0004 | 1 | 90000 | 1 | 12004 | 0,2 | 12004 | ||
| TC_main_ListApp: Items cs00000int | 1 | 90000 | 1 | 12113 | 0,2 | 12113 | ||
| TC_main_ListApp: Items cs00000int_0001 | 1 | 90000 | 1 | 12693 | 0,2 | 12693 | ||
| TC_main_ListApp: Items cs00000int_0002 | 1 | 90000 | 1 | 12456 | 0,2 | 12456 | ||
| TC_main_ListApp: Items cs00000int_0003 | 1 | 90000 | 1 | 13667 | 0,2 | 13667 | ||
| TC_main_ListApp: Items cs00000int_0004 | 1 | 90000 | 1 | 13815 | 0,2 | 13815 | ||
| TC_main_ListApp: Loan cs00000int | 1 | 90000 | 1 | 13392 | 0,2 | 13392 | ||
| TC_main_ListApp: Loan cs00000int_0001 | 1 | 90000 | 1 | 13990 | 0,2 | 13990 | ||
| TC_main_ListApp: Loan cs00000int_0002 | 1 | 90000 | 1 | 13057 | 0,2 | 13057 | ||
| TC_main_ListApp: Loan cs00000int_0003 | 1 | 90000 | 1 | 12457 | 0,2 | 12457 | ||
| TC_main_ListApp: Loan cs00000int_0004 | 1 | 90000 | 1 | 12853 | 0,2 | 12853 | ||
| TC_main_ListApp: Organizations cs00000int | 1 | 90000 | 1 | 23996 | 0,2 | 23996 | ||
| TC_main_ListApp: Purchase order lines cs00000int | 1 | 90000 | 1 | 119504 | 0,2 | 119504 | ||
| TC_main_ListApp: Users cs00000int | 1 | 90000 | 1 | 59534 | 0,2 | 59534 | ||
| TC_main_ListApp: Users cs00000int_0001 | 1 | 90000 | 1 | 142745 | 0,2 | 142745 | ||
| TC_main_ListApp: Users cs00000int_0002 | 1 | 90000 | 1 | 164314 | 0,2 | 164314 | ||
| TC_main_ListApp: Users cs00000int_0003 | 1 | 90000 | 1 | 112574 | 0,2 | 112574 | ||
| TC_main_ListApp: Users cs00000int_0004 | 1 | 90000 | 1 | 155352 | 0,2 | 155352 | ||
| TC_main_MAC: Create MARC Authority record | 152 | 2000 | 150 | 628 | 0,2 | 897 | ||
| TC_main_MAE: Click Save & Close - quickMARC: Editing MARC authority records | 153 | 2000 | 150 | 756 | 0,2 | 988 | ||
| TC_main_MSF: mod search by auth query cs00000int | 15 | 2000 | 6 | 4383 | 0,2 | 5989 | ||
| TC_main_MSF: mod search by auth query cs00000int_0001 | 4 | 2000 | 6 | 4288 | 0,2 | 4529 | ||
| TC_main_MSF: mod search by auth query cs00000int_0002 | 5 | 2000 | 6 | 4198 | 0,2 | 5115 | ||
| TC_main_MSF: mod search by auth query cs00000int_0003 | 4 | 2000 | 6 | 3985 | 0,2 | 5638 | ||
| TC_main_MSF: mod search by auth query cs00000int_0004 | 4 | 2000 | 6 | 4894 | 0,2 | 5420 | ||
| TC_main_MSF: mod search by boolean query cs00000int | 15 | 2000 | 1 | 271 | 0,2 | 484 | ||
| TC_main_MSF: mod search by boolean query cs00000int_0001 | 4 | 2000 | 1 | 241 | 0,2 | 277 | ||
| TC_main_MSF: mod search by boolean query cs00000int_0002 | 5 | 2000 | 1 | 286 | 0,2 | 294 | ||
| TC_main_MSF: mod search by boolean query cs00000int_0003 | 4 | 2000 | 1 | 301 | 0,2 | 423 | ||
| TC_main_MSF: mod search by boolean query cs00000int_0004 | 4 | 2000 | 1 | 281 | 0,2 | 335 | ||
| TC_main_MSF: mod search by classification query cs00000int | 15 | 2000 | 6 | 207 | 0,2 | 587 | ||
| TC_main_MSF: mod search by classification query cs00000int_0001 | 5 | 2000 | 6 | 205 | 0,2 | 524 | ||
| TC_main_MSF: mod search by classification query cs00000int_0002 | 5 | 2000 | 6 | 178 | 0,2 | 223 | ||
| TC_main_MSF: mod search by classification query cs00000int_0003 | 4 | 2000 | 6 | 187 | 0,2 | 215 | ||
| TC_main_MSF: mod search by classification query cs00000int_0004 | 4 | 2000 | 6 | 226 | 0,2 | 271 | ||
| TC_main_MSF: mod search by contributors query cs00000int | 15 | 2000 | 12 | 813 | 0,2 | 1187 | ||
| TC_main_MSF: mod search by contributors query cs00000int_0001 | 4 | 2000 | 12 | 1055 | 0,2 | 1243 | ||
| TC_main_MSF: mod search by contributors query cs00000int_0002 | 5 | 2000 | 12 | 778 | 0,2 | 885 | ||
| TC_main_MSF: mod search by contributors query cs00000int_0003 | 4 | 2000 | 12 | 706 | 0,2 | 756 | ||
| TC_main_MSF: mod search by contributors query cs00000int_0004 | 4 | 2000 | 12 | 622 | 0,2 | 1102 | ||
| TC_main_MSF: mod search by filter query cs00000int | 15 | 2000 | 6 | 415 | 0,2 | 722 | ||
| TC_main_MSF: mod search by filter query cs00000int_0001 | 4 | 2000 | 6 | 296 | 0,2 | 762 | ||
| TC_main_MSF: mod search by filter query cs00000int_0002 | 5 | 2000 | 6 | 335 | 0,2 | 802 | ||
| TC_main_MSF: mod search by filter query cs00000int_0003 | 4 | 2000 | 6 | 462 | 0,2 | 781 | ||
| TC_main_MSF: mod search by filter query cs00000int_0004 | 4 | 2000 | 6 | 678 | 0,2 | 1094 | ||
| TC_main_MSF: mod search by identifier query cs00000int | 15 | 2000 | 6 | 68,1 | 0,2 | 222 | ||
| TC_main_MSF: mod search by identifier query cs00000int_0001 | 5 | 2000 | 6 | 144 | 0,2 | 231 | ||
| TC_main_MSF: mod search by identifier query cs00000int_0002 | 5 | 2000 | 6 | 41,6 | 0,2 | 53 | ||
| TC_main_MSF: mod search by identifier query cs00000int_0003 | 4 | 2000 | 6 | 42,7 | 0,2 | 130 | ||
| TC_main_MSF: mod search by identifier query cs00000int_0004 | 4 | 2000 | 6 | 62,5 | 0,2 | 207 | ||
| TC_main_MSF: mod search by keyword query cs00000int | 30 | 2000 | 60 | 400 | 0,353 | 594 | ||
| TC_main_MSF: mod search by keyword query cs00000int_0001 | 8 | 2000 | 60 | 296 | 0,4 | 764 | ||
| TC_main_MSF: mod search by keyword query cs00000int_0002 | 10 | 2000 | 60 | 328 | 0,4 | 806 | ||
| TC_main_MSF: mod search by keyword query cs00000int_0003 | 8 | 2000 | 60 | 614 | 0,32 | 950 | ||
| TC_main_MSF: mod search by keyword query cs00000int_0004 | 8 | 2000 | 60 | 673 | 0,4 | 1188 | ||
| TC_main_MSF: mod search by notes query cs00000int | 16 | 2000 | 1 | 1610 | 0,2 | 1997 | ||
| TC_main_MSF: mod search by notes query cs00000int_0001 | 5 | 2000 | 1 | 1662 | 0,2 | 1766 | ||
| TC_main_MSF: mod search by notes query cs00000int_0002 | 5 | 2000 | 1 | 1674 | 0,2 | 2000 | ||
| TC_main_MSF: mod search by notes query cs00000int_0003 | 4 | 2000 | 1 | 1652 | 0,2 | 1732 | ||
| TC_main_MSF: mod search by notes query cs00000int_0004 | 4 | 2000 | 1 | 2255 | 0,2 | 2619 | ||
| TC_main_MSF: mod search by subject query cs00000int | 15 | 2000 | 8 | 844 | 0,2 | 1574 | ||
| TC_main_MSF: mod search by subject query cs00000int_0001 | 4 | 2000 | 8 | 871 | 0,2 | 937 | ||
| TC_main_MSF: mod search by subject query cs00000int_0002 | 5 | 2000 | 8 | 760 | 0,2 | 950 | ||
| TC_main_MSF: mod search by subject query cs00000int_0003 | 4 | 2000 | 8 | 804 | 0,2 | 1207 | ||
| TC_main_MSF: mod search by subject query cs00000int_0004 | 4 | 2000 | 8 | 878 | 0,2 | 1032 | ||
| TC_main_MSF: mod search by title query cs00000int | 15 | 2000 | 6 | 565 | 0,2 | 944 | ||
| TC_main_MSF: mod search by title query cs00000int_0001 | 5 | 2000 | 6 | 749 | 0,2 | 913 | ||
| TC_main_MSF: mod search by title query cs00000int_0002 | 5 | 2000 | 6 | 485 | 0,2 | 536 | ||
| TC_main_MSF: mod search by title query cs00000int_0003 | 4 | 2000 | 6 | 679 | 0,2 | 1056 | ||
| TC_main_MSF: mod search by title query cs00000int_0004 | 4 | 2000 | 6 | 745 | 0,2 | 952 | ||
| TC_main_POO_SC Click Save And Close - Creating Order Lines | 11 | 2000 | 3 | 155 | 0,2 | 245 | ||
| TC_main_POO_SC: Click Veiw - View Pos | 253 | 2000 | 270 | 564 | 0,506 | 731 | ||
| TC_main_POO_SC: Switch to Order on Search - Search Pos | 508 | 2000 | 270 | 122 | 0,574 | 153 | ||
| TC_main_POO_main_SC: Click Delete - Delete Order | 7 | 2000 | 3 | 1364 | 0,2 | 2444 | ||
| TC_main_POs: (Create Order) Click Save and Close - Creating Order | 11 | 2000 | 3 | 740 | 0,2 | 793 | ||
| TC_main_POs: (Edit Order) Click Save and Close - Edit POs | 25 | 2000 | 3 | 4122 | 0,208 | 18491 | ||
| TC_main_POs: Approve Order cs00000int - Approving Orders | 4 | 3000 | 3 | 2518 | 0,2 | 4275 | ||
| TC_main_PRO_SC: Users Create Save - Create Patron Records cs00000int_0001 | 2 | 2000 | 3 | 1211 | 0,2 | 1347 | ||
| TC_main_PRO_SC: Users Create Save - Create Patron Records cs00000int_0002 | 3 | 2000 | 3 | 1115 | 0,2 | 1239 | ||
| TC_main_PRO_SC: Users Create Save - Create Patron Records cs00000int_0003 | 3 | 2000 | 3 | 1221 | 0,2 | 1369 | ||
| TC_main_PRO_SC: Users Create Save - Create Patron Records cs00000int_0004 | 3 | 2000 | 3 | 1303 | 0,2 | 1466 | ||
| TC_main_PRUP: Edit User Add Picture - Uploading Patron Profile PIcture cs00000int_0001 | 2 | 2000 | 3 | 921 | 0,2 | 972 | ||
| TC_main_PRUP: Edit User Add Picture - Uploading Patron Profile PIcture cs00000int_0002 | 3 | 2000 | 3 | 1095 | 0,2 | 1311 | ||
| TC_main_PRUP: Edit User Add Picture - Uploading Patron Profile PIcture cs00000int_0003 | 3 | 2000 | 3 | 1619 | 0,2 | 3361 | ||
| TC_main_PRUP: Edit User Add Picture - Uploading Patron Profile PIcture cs00000int_0004 | 3 | 2000 | 3 | 974 | 0,2 | 1096 | ||
| TC_main_PRUP: Edit User Save - Update Patron Records cs00000int_0001 | 2 | 2000 | 3 | 104 | 0,2 | 116 | ||
| TC_main_PRUP: Edit User Save - Update Patron Records cs00000int_0002 | 3 | 2000 | 3 | 110 | 0,2 | 121 | ||
| TC_main_PRUP: Edit User Save - Update Patron Records cs00000int_0003 | 3 | 2000 | 3 | 117 | 0,2 | 148 | ||
| TC_main_PRUP: Edit User Save - Update Patron Records cs00000int_0004 | 3 | 2000 | 3 | 137 | 0,2 | 163 | ||
| TC_main_PRUP: View User - View Patron Records cs00000int_0001 | 2 | 2000 | 3 | 701 | 0,2 | 712 | ||
| TC_main_PRUP: View User - View Patron Records cs00000int_0002 | 3 | 2000 | 3 | 911 | 0,2 | 1008 | ||
| TC_main_PRUP: View User - View Patron Records cs00000int_0003 | 3 | 2000 | 3 | 1109 | 0,2 | 1185 | ||
| TC_main_PRUP: View User - View Patron Records cs00000int_0004 | 3 | 2000 | 3 | 1068 | 0,2 | 1202 | ||
| TC_main_PRUP: View User After Save - View Patron profile w/picture cs00000int_0001 | 2 | 2000 | 15 | 767 | 0,2 | 807 | ||
| TC_main_PRUP: View User After Save - View Patron profile w/picture cs00000int_0002 | 3 | 2000 | 15 | 826 | 0,2 | 853 | ||
| TC_main_PRUP: View User After Save - View Patron profile w/picture cs00000int_0003 | 3 | 2000 | 15 | 884 | 0,2 | 1092 | ||
| TC_main_PRUP: View User After Save - View Patron profile w/picture cs00000int_0004 | 3 | 2000 | 15 | 930 | 0,2 | 1001 | ||
| TC_main_RTAC: edge-rtac cs00000int | 1842 | 2000 | 1 | 721 | 1,04 | 1497 | 2 | 0,109 |
| TC_main_RTAC: edge-rtac cs00000int_0001 | 923 | 2000 | 0.5 | 465 | 0,52 | 521 | ||
| TC_main_RTAC: edge-rtac cs00000int_0002 | 924 | 2000 | 0.5 | 2540 | 0,525 | 13040 | 1 | 0,108 |
| TC_main_RTAC: edge-rtac cs00000int_0003 | 923 | 2000 | 0.5 | 656 | 0,523 | 968 | ||
| TC_main_RTAC: edge-rtac cs00000int_0004 | 923 | 2000 | 0.5 | 916 | 0,52 | 950 | ||
| TC_main_RW_SC: Click Submit Quick Reseive | 69 | 2000 | 1126 | 0,2 | 1276 | |||
| TC_main_RW_SC: Click Submit Receive | 70 | 2000 | 1118 | 0,2 | 1384 | |||
| TC_main_RW_SC: Click Submit Unreceive | 69 | 2000 | 868 | 0,2 | 988 | |||
| TC_main_SC_RRO: Allow access action | 519 | 2000 | 25 vusers | 20,3 | 0,314 | 34 | ||
| TC_main_SC_RRO: Deny access action | 513 | 2000 | 25 vusers | 20,3 | 0,312 | 29,9 | ||
| TC_main_SC_TB: Transfer budget | 90 | 2000 | 60 | 192 | 0,2 | 240 | ||
| TC_main_SDIC_Click import - Single Record Imports (Create) | 15 | 2000 | 2095 | 0,2 | 7638 | 1 | 6,67 | |
| TC_main_SDIU_Click import - Single Record Imports (Update) | 45 | 2000 | 6200 | 0,2 | 6516 | |||
| TC_main_TLR: Click Save: create - Title level requests cs00000int_0001 | 11 | 2000 | 12 | 1060 | 0,2 | 1330 | ||
| TC_main_TLR: Click Save: create - Title level requests cs00000int_0002 | 12 | 2000 | 12 | 1227 | 0,2 | 1790 | ||
| TC_main_TLR: Click Save: create - Title level requests cs00000int_0003 | 12 | 2000 | 12 | 1142 | 0,2 | 1310 | ||
| TC_main_TLR: Click Save: create - Title level requests cs00000int_0004 | 12 | 2000 | 12 | 1176 | 0,2 | 1314 | ||
| TC_main_ULR: Users loan Renewal Transaction cs00000int_0001 - Renew Loans | 5 | 2000 | 6 | 1329 | 0,2 | 1483 | ||
| TC_main_ULR: Users loan Renewal Transaction cs00000int_0002 - Renew Loans | 5 | 2000 | 6 | 1297 | 0,2 | 1548 | ||
| TC_main_ULR: Users loan Renewal Transaction cs00000int_0003 - Renew Loans | 5 | 2000 | 6 | 1336 | 0,2 | 1479 | ||
| TC_main_ULR: Users loan Renewal Transaction cs00000int_0004 - Renew Loans | 6 | 2000 | 6 | 1389 | 0,2 | 1568 | ||
| TC_main_UP_main_TC: - Update piece cs00000int | 28 | 2000 | 30 | 402 | 0,2 | 527 | ||
| TC_main_VAR: Click Authorized Record - Vew authority records | 6 | 2000 | 136 | 0,4 | 261 | |||
| TC_main_VL: Viewing Licenses | 1 | 2000 | 2 | 1070 | 0,2 | 1070 | ||
| TC_main_VRO_SC: Click Delete Vendor - Delete Vendor | 3 | 2000 | 3 | 35 | 0,2 | 37 | ||
| TC_main_VRO_SC: Click Save & Close - Create a Vendor | 3 | 2000 | 3 | 400 | 0,2 | 500 | ||
| TC_main_VRO_SC: Click Save & Close Edit Vendor Records - Edit Vendor Records | 3 | 2000 | 3 | 391 | 0,2 | 422 | ||
| TC_main_VRO_SC: Click to View Vendor Records - View Vendor Records | 3 | 2000 | 3 | 246 | 0,2 | 266 | ||
| TC_main_VTT: Inventory View Instance Source - View BIB records cs00000int_0001 | 57 | 2000 | 50 | 99,2 | 0,2 | 175 | 1 | 1,75 |
| TC_main_VTT: Inventory View Instance Source - View BIB records cs00000int_0002 | 57 | 2000 | 50 | 124 | 0,2 | 302 | ||
| TC_main_VTT: Inventory View Instance Source - View BIB records cs00000int_0003 | 57 | 2000 | 50 | 109 | 0,2 | 167 | 4 | 7,02 |
| TC_main_VTT: Inventory View Instance Source - View BIB records cs00000int_0004 | 57 | 2000 | 50 | 101 | 0,2 | 154 | 2 | 3,51 |
| TC_main_Z39.50: Search by Author OR Title attributes | 1488 | 2000 | 2279 | 0,802 | 4801 | 26 | 1,75 | |
| TC_main_Z39.50: Search by ISBN number | 1493 | 2000 | 1963 | 0,844 | 4465 | |||
| TC_main_Z39.50: Search by ISSN number | 1492 | 2000 | 1964 | 0,845 | 4310 | |||
| TC_main_Z39.50: Search by keyword + view 10 times | 1496 | 2000 | 2362 | 0,79 | 5076 | 32 | 2,14 | |
| TC_main_Z39.50: Search by library’s control identifier | 1496 | 2000 | 1893 | 0,841 | 4235 | 3 | 0,201 | |
| TC_main_Z39.50: Search by multiple ISBN numbers with OR | 1489 | 2000 | 2283 | 0,841 | 4910 |
Test №1-2
Test №1: Ran the Master Script with 14 different flows as extra load on the PTF-LOC environment and ASA test.
Goal: Get baseline performance metrics for comparison with requirements.
Test №2: Ran the ASA test without extra load on the PTF-LOC environment.
Goal: Measure ASA performance in isolation and compare it with Test №1 to evaluate the impact of the general load PTF-LOC environment.
Results: Performance remained nearly the same, with differences of less than 5%.
Instance CPU Utilization
Service CPU Utilization
Here we can see that okapi and that mod-search-ebsco modules used around 1.6% of CPU Instance power.
Service Memory Utilization
Here we can see that all modules show a stable trend.
Kafka metrics
OpenSearch metrics
Data Nodes CPU utilization
Data Nodes JVM memory pressure
Search rate
Search latency
JVM Search thread pool
DB CPU Utilization
DB CPU was 70% in spike.
DB Connections
Max number of DB connections was 2010.
Appendix
Infrastructure
PTF - QCP1 environment configuration (was changed during testing)
- 5-6 r7g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instance, writer
Name Memory GIB vCPUs db.r6g.xlarge
32 GB 4 vCPUs - Open Search ptf-test
- Data nodes
- Instance type - r6g.2xlarge.search
- Number of nodes - 4
- Version: OpenSearch_2_7_R20240502
- Dedicated master nodes
- Instance type - r6g.large.search
- Number of nodes - 3
- Data nodes
- MSK fse-tenant
- 2 brokers, kafka.m7g.xlarge brokers in 2 zones
Apache Kafka version 3.7.x
EBS storage volume per broker 300 GiB
- auto.create.topics.enable=true
- log.retention.minutes=480
- default.replication.factor=3
PTF - eureka environment Ramsons (relc)
- 12 r7g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instance, writer
Name Memory GIB vCPUs db.r7g.xlarge
32 GiB 4 vCPUs - MSK fse-test
- 4 m5.2xlarge brokers in 2 zones
Apache Kafka version 3.7.x
EBS storage volume per broker 300 GiB
- auto.create.topics.enable=true
- log.retention.minutes=480
- default.replication.factor=2
Methodology/Approach
CICO Tests scenarios were started for 100 users and concurrently RTAC for 10 users by JMeter script from load generator.
QCP1 configuration and steps to configure ECS infrastructure:
Instance type r7g.2xlarge
When New Relic/Open Telementry enabled OTEL value in mod-inventory's task definition set to true (OTEL_INSTRUMENTATION_RUNTIME_TELEMETRY_ENABLED=true)
- mod-oa-b service was turn off for all tests
- during testing CPU value was applied for list of modules:
- mod-inventory: 3072
- mod-inventory-storage: 2048
- mod-circulation: 1536
- mod-circulation-storage: 1536
- mod-feesfines: 256
- mod-orders: 1024
- mod-orders-storage: 512
- mod-login: 1024
- mod-source-record-storage: 2048
- mod-rtac: 128
- mod-patron: 128
Test 1:
The QCP1 environment was configured with 6 Instances, New Relic/OpenTelemetry enabled, OTEL value for mod-inventory set TRUE, distinctInstance placement strategy turned ON, CPU values set for list of modules, 4 tasks assigned to mod-inventory, mod-inventory-storage, mod-circulation, and mod-circulation-storage, with Check-In/Check-Out tests running 100 users and RTAC tests running 10 users concurrently on a main tenant for 35 minutes.
Test 2:
The QCP1 environment was configured with with 6 Instances, New Relic/OpenTelemetry enabled, OTEL value for mod-inventory set TRUE, distinctInstance placement strategy turned OFF, CPU values set for list of modules, 4 tasks assigned to mod-inventory, mod-inventory-storage, mod-circulation, and mod-circulation-storage, with Check-In/Check-Out tests running 100 users and RTAC tests running 10 users concurrently on a main tenant for 35 minutes.
Test artifacts: