RCON [Ramsons] ECS - Performance test for Central Ordering

RCON [Ramsons] ECS - Performance test for Central Ordering

Overview

  • This document contains the results of Central Ordering testing scenarios to create order with PO lines plus Change instance connection and Receive all pieces for Ramsons [ECS] environments. 

https://folio-org.atlassian.net/browse/PERF-989 

Summary

  • All tests were successfully completed, and all API calls were executed without errors.

  • Response time for Change Instance Connection for Test №2 increased by 45% compared to Test №1 and for Test №3 Response time increased by 125% compared to Test 1. It appears that the Find or Create New Holdings action performed multiple operations, which explains the extended response time for this action.

  • In Test 3, the Create Order operation involved creating orders with 50 Order Lines, compared to 1 Order Lines in Test 1 and 10 Order Lines in Test 2. This explains the significant increase in response times for the Open Order and Unopen Order operations:

    • Open Order: Response times increased nearly 10x in Test 3 compared to Test 1 due to the higher load (50 items per order).

    • Unopen Order: Similarly, response times grew approximately 4-5x in Test 3.

    For other operations (Create Order, Create Order Line, Receive Pieces, and Change Instance Connection), response times increased moderately but remained within acceptable ranges as the load increased.

    Conclusion: The increase in item count per order directly impacted the performance of Open Order and Unopen Order, highlighting their sensitivity to load.

  • In Test №2, the Create New Holdings operation for Change Instance Connection triggered the reindex function. As a result, we observed that mod-search initiated reindexing, as evidenced by SQL queries N1 and N4 appearing in the TOP 5 SQL Statements table. This process placed a significant load on the database and continued for over 3 hours after the tests were completed.

 

Test Runs 

Test №

Date

Test Conditions

Results

1

12/12/24, 9:48 AM UTC

PO with PO Lines (1) + locations (5) + Change instance connection (Move holdings)

Completed

2

12/12/24, 11:32 AM UTC

PO with PO Lines (10) + locations (3) + Change instance connection (Create new holdings)

Completed

3

12/12/24, 1:21 PM UTC

PO with PO Lines (50) + locations (3) + Change instance connection (Move holdings, Find or Create new holdings)

Completed

Test Results

Test №1

PO with PO Lines (1) + locations (5) + Change instance connection (Move holdings)

Requests

Total Requests
Count

Response Time (milliseconds)

Average

pct90

pct95

pct99

POST /orders/composite-orders
Create Order

576

98

166

284

833

POST orders/order-lines
Create Order Line

576

137

250

486

1.094

PUT orders/composite-orders/[order_id]
Open Order

574

1.659

3.612

8.279

8.288

PATCH orders/order-lines/[curent_po_line_id]
Change instance connection (Move Holdings)

574

726

1.039

1.851

15.494

POST /orders/check-in
Receive Pieces

574

729

1.059

2.207

17.613

PUT orders/composite-orders/[order_id_created]
Unopen Order

574

625

757

1.014

1.607

transaction

NumberOfSamples

Average

Median

pct90

pct95

pct99

Min

Max

transaction

NumberOfSamples

Average

Median

pct90

pct95

pct99

Min

Max

FOLIO: Login

1

407

407

407

407

407

407

407

GET bl-users/_self

1

1428

1428

1428

1428

1428

1428

1428

JSR223 Sampler Clear file

1

1081

1081

1081

1081

1081

1081

1081

JSR223 Sampler User info extractor

1

92

92

92

92

92

92

92

POO_GET /acquisitions-units/memberships

576

40

39

73

116

848

19

855

POO_GET /acquisitions-units/units

2304

24

23

29

65

136

18

136

POO_GET /configurations/entries

6912

18

17

20

25

92

14

92

POO_GET /finance/expense-classes

576

30

28

66

142

142

19

142

POO_GET /finance/funds

1152

45

42

60

108

1272

34

1279

POO_GET /material-types

576

18

17

22

80

103

11

103

POO_GET /orders/acquisition-methods

576

30

30

65

71

547

19

552

POO_GET /orders/composite-orders/composite_orderId

576

64

62

100

153

204

51

204

POO_GET /orders/configuration/prefixes

2304

27

25

41

74

627

17

632

POO_GET /orders/configuration/reasons-for-closure

1728

24

24

27

68

123

18

124

POO_GET /orders/configuration/suffixes

2304

24

23

27

67

527

18

532

POO_GET /orders/order-lines

1152

48

46

55

97

539

38

543

POO_GET /orders/order-templates

576

35

33

69

107

696

19

696

POO_GET /orders/po-number

576

48

36

72

733

1248

18

1248

POO_GET /organizations

576

63

58

85

248

571

48

575

POO_GET /organizations/organizations/[vendor_id]

576

27

26

34

86

138

20

138

POO_GET /tags

2304

16

16

21

28

225

11

226

POO_GET /users

1152

16

15

19

66

262

11

264

POO_GET _/proxy/tenants/[tenant]/modules

574

76

74

115

173

267

64

267

POO_GET _/version

574

14