PTF - ASA workflows testing (LTPTF1+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.
https://folio-org.atlassian.net/browse/PERF-1079
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 |
Test №2 | Ran the ASA test without extra load on the PTF-LOC environment. | Completed |
Test Results
NFR_007
This table contains response times and percentage degradation for API Load Testing with a Gradual Increase of Users Per Block tests.
User | Searching Operations with RELC load | Viewing Operations with RELC load | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
User Searching Operations/second | Average Response | Increase | 90th Percentile | 95th Percentile | 99th Percentile | User Viewing | Average Response | Increase | 90th Percentile | 95th Percentile | 99th Percentile | |
40 | 0.85 | 277 |
| 1310 | 3000 | 3730 | 0.85 | 271 |
| 832 | 1880 | 2390 |
80 | 2.5 | 268 | -3% | 517 | 2516 | 3771 | 2.46 | 320 | 18% | 805 | 1651 | 61779 |
120 | 4.15 | 279 | 4% | 894 | 2538 | 5309 | 4.12 | 266 | -17% | 805 | 1656 | 3193 |
160 | 5.76 | 277 | -1% | 853 | 2527 | 3858 | 5.66 | 276 | 4% | 873 | 1625 | 3146 |
200 | 7.28 | 285 | 3% | 934 | 2596 | 4179 | 7.19 | 274 | -1% | 921 | 1646 | 2819 |
240 | 9.92 | 281 | -1% | 1192 | 2572 | 4347 | 8.81 | 271 | -1% | 900 | 1651 | 2737 |
280 | 10.6 | 284 | 1% | 906 | 2575 | 4282 | 10.4 | 274 | 1% | 926 | 1685 | 2728 |
320 | 12.1 | 282 | -1% | 1409 | 2598 | 5479 | 12 | 275 | 0% | 1480 | 1666 | 3456 |
360 | 13.8 | 294 | 4% | 1196 | 2628 | 4612 | 13.6 | 281 | 2% | 939 | 1737 | 2831 |
400 | 15.3 | 305 | 4% | 1172 | 2821 | 5153 | 15.2 | 290 | 3% | 958 | 1946 | 3219 |
User | Searching Operations without RELC load | Viewing Operations without RELC load | ||||||||||
User Searching Operations/second | Average Response | Increase | 90th Percentile | 95th Percentile | 99th Percentile | User Viewing | Average Response | Increase | 90th Percentile | 95th Percentile | 99th Percentile | |
40 | 1.76 | 267 |
| 1281 | 2822 | 3926 | 1.74 | 253 |
| 859 | 2241 | 2457 |
80 | 3.36 | 261 | -2% | 776 | 2512 | 3951 | 3.32 | 338 | 34% | 851 | 1670 | 60893 |
120 | 5 | 284 | 9% | 909 | 2520 | 4024 | 4.92 | 268 | -21% | 894 | 1626 | 2631 |
160 | 6.75 | 266 | -6% | 899 | 2504 | 4018 | 6.66 | 256 | -4% | 872 | 1629 | 2845 |
200 | 8.43 | 276 | 4% | 1176 | 2523 | 4265 | 8.26 | 258 | 1% | 906 | 1614 | 2654 |
240 | 10.1 | 266 | -4% | 807 | 2494 | 4951 | 10 | 255 | -1% | 862 | 1612 | 3092 |
280 | 11.9 | 273 | 3% | 1177 | 2546 | 3928 | 11.7 | 257 | 1% | 876 | 1631 | 2646 |
320 | 13.6 | 281 | 3% | 1313 | 2550 | 4828 | 13.5 | 261 | 2% | |||