PTF - ASA workflows testing (LTPTF1+RELC)

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 #

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

NFR_007

This table contains response times and percentage degradation for API Load Testing with a Gradual Increase of Users Per Block tests.

 User
Sessions

Searching Operations with RELC load

Viewing Operations with RELC load

User Searching Operations/second

Average Response
Time (ms)

Increase
 (%)

90th Percentile
Response Time (ms)

95th Percentile
Response Time (ms)

99th Percentile
Response Time (ms)

User Viewing
Operations/second

Average Response
 Time (ms)

Increase
(%)

90th Percentile
Response Time (ms)

95th Percentile
Response Time (ms)

99th Percentile
Response Time (ms)

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
(testing 30 min)

15.3

305

4%

1172

2821

5153

15.2

290

3%

958

1946

3219

 User
Sessions

Searching Operations without RELC load

Viewing Operations without RELC load

User Searching Operations/second

Average Response
Time (ms)

Increase
 (%)

90th Percentile
Response Time (ms)

95th Percentile
Response Time (ms)

99th Percentile
Response Time (ms)

User Viewing
Operations/second

Average Response
 Time (ms)

Increase
(%)

90th Percentile
Response Time (ms)

95th Percentile
Response Time (ms)

99th Percentile
Response Time (ms)

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%