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 | Response Time (milliseconds) | |||
Average | pct90 | pct95 | pct99 | ||
|---|---|---|---|---|---|
POST /orders/composite-orders | 576 | 98 | 166 | 284 | 833 |
POST orders/order-lines | 576 | 137 | 250 | 486 | 1.094 |
PUT orders/composite-orders/[order_id] | 574 | 1.659 | 3.612 | 8.279 | 8.288 |
PATCH orders/order-lines/[curent_po_line_id] | 574 | 726 | 1.039 | 1.851 | 15.494 |
POST /orders/check-in | 574 | 729 | 1.059 | 2.207 | 17.613 |
PUT orders/composite-orders/[order_id_created] | 574 | 625 | 757 | 1.014 | 1.607 |