Skip to end of banner
Go to start of banner

RCON [Ramsons] ECS - Acquisition Audit Log Performance testing

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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. 

PERF-1027 - Getting issue details... STATUS  

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
212/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)


TransactionData size 500k


Data size 1kk


Data size 5kk



Averagepct90pct95pct99Averagepct90pct95pct99Averagepct90pct95pct99
TC_open all orders 10221237633763376322193476347634762259395739573957
TC_open all orders 50197822302492254719102396271427571953236029742974
TC_open all orders 100202628333024302420102739276527652015280130633063
TC_open all orders 1000202523762480272420172454246524851971223923462365
TC_open order 10813251325132513872252625262526894265026502650
TC_open order 50446687731735453687796800469647775775
TC_open order 100737134313431343739134613461346814172217221722
TC_open order 10006708841149114965785810091009680838877880
TC_open order line 10136331593159315914683464346434641560408340834083
TC_open order line 50913134317121730925159119101910936145816261632
TC_open order line 100118117841981198111701978199619961235224225662566
TC_open order line 1000119715341819193711921485163516991213152919762092
TC_open pieces 10126826432643264312492621262126211269264526452645
TC_open pieces 50880106518711913881125414751499915136817291739
TC_open pieces 100111118441869186911261531157916681144181118451845
TC_open pieces 1000106212861426146211101305163118031092148916341639
TC_view order history 10541165216521652558161316131613544138813881388
TC_view order history 50254383474477249314384387265380537537
TC_view order history 100477805829858486886886886505849856856
TC_view order history 1000452647787787445528591591464681775968
TC_view order line history 10754161016101610738156415641564823197419741974
TC_view order line history 50452619816816449587629634489788788788
TC_view order line history 100695106812741307677103711321132718968968968
TC_view order line history 100073390097398876012071207120774692611511151
TC_view pieces history 10753143314331433745142214221422782180118011801
TC_view pieces history 50452701774783449632797869454626692695
TC_view pieces history 100670100811131133656108611401140701108111601160
TC_view pieces history 1000710945945945701109510951095694862906910



RequestsTotal Requests
Count
Response Time (milliseconds)
Averagepct90pct95pct99
POST /orders/composite-orders
Create Order
57698166284833
POST orders/order-lines
Create Order Line
5761372504861.094
PUT orders/composite-orders/[order_id]
Open Order
5741.6593.6128.2798.288
PATCH orders/order-lines/[curent_po_line_id]
Change instance connection (Move Holdings)
5747261.0391.85115.494
POST /orders/check-in
Receive Pieces
5747291.0592.20717.613
PUT orders/composite-orders/[order_id_created]
Unopen Order
5746257571.0141.607
 Full result table
transactionNumberOfSamplesAverageMedianpct90pct95pct99MinMax
FOLIO: Login1407407407407407407407
GET bl-users/_self11428142814281428142814281428
JSR223 Sampler Clear file11081108110811081108110811081
JSR223 Sampler User info extractor192929292929292
POO_GET /acquisitions-units/memberships57640397311684819855
POO_GET /acquisitions-units/units23042423296513618136
POO_GET /configurations/entries691218172025921492
POO_GET /finance/expense-classes57630286614214219142
POO_GET /finance/funds11524542601081272341279
POO_GET /material-types5761817228010311103
POO_GET /orders/acquisition-methods5763030657154719552
POO_GET /orders/composite-orders/composite_orderId576646210015320451204
POO_GET /orders/configuration/prefixes23042725417462717632
POO_GET /orders/configuration/reasons-for-closure17282424276812318124
POO_GET /orders/configuration/suffixes23042423276752718532
POO_GET /orders/order-lines11524846559753938543
POO_GET /orders/order-templates57635336910769619696
POO_GET /orders/po-number5764836727331248181248
POO_GET /organizations57663588524857148575
POO_GET /organizations/organizations/[vendor_id]5762726348613820138
POO_GET /tags23041616212822511226
POO_GET /users11521615196626211264
POO_GET _/proxy/tenants/[tenant]/modules574767411517326764267
POO_GET _/version574141351556325637
POO_GET acquisitions-units/units28762423276581618823
POO_GET configurations/entries2299417172029771196
POO_GET consortia5742019597252312528
POO_GET consortia-configuration57420195869981198
POO_GET consortia/[consortia_ID]/_self5742524648425415254
POO_GET consortia/[consortia_ID]/tenants5742423606856813573
POO_GET contributor-name-types344815151956931093
POO_GET contributor-types11502928647714921149
POO_GET finance/budgets11482928667454720552
POO_GET finance/expense-classes17222726476782019827
POO_GET finance/funds6896414045811006321015
POO_GET finance/transactions11483028677356619566
POO_GET holdings-storage/holdings57617171960941194
POO_GET identifier-types22981717225858411589
POO_GET instance-formats11502020586312813128
POO_GET instance-relationship-types344415151856961096
POO_GET instance-types23001716215810011100
POO_GET inventory/instances34443736589787318876
POO_GET inventory/instances/[instances_id]576827618738065047650
POO_GET inventory/items17222827666853319538
POO_GET invoice/invoice-lines17224034751201169231179
POO_GET locations746814141756911092
POO_GET material-types345115151757961196
POO_GET modes-of-issuance11501817565910010100
POO_GET nature-of-content-terms115018185762931193
POO_GET note-links/domain/orders/type/poLine/id/[curent_po_line_id]114821213566851385
POO_GET note-links/domain/orders/type/poLine/id/[poLine_id]57429235839668714693
POO_GET note-types17222221426518013180
POO_GET orders-storage/order-invoice-relns229814141656971097
POO_GET orders/acquisition-methods57627256580931993
POO_GET orders/acquisition-methods/[acquisitionMethod_ID]11482625606784118849
POO_GET orders/acquisition-methods/[acquisition_methods_id]57429286613314117141
POO_GET orders/composite-orders344854537110358038585
POO_GET orders/composite-orders/[order_id]40222172133374241762521762
POO_GET orders/configuration/prefixes17262423276654817553
POO_GET orders/configuration/reasons-for-closure45982323256224618246
POO_GET orders/configuration/suffixes172623232865911791
POO_GET orders/export-history22962625606984018848
POO_GET orders/order-lines459852516710185140858
POO_GET orders/order-templates5762727657110819108
POO_GET orders/pieces114882791552411011491012
POO_GET orders/titles172256549117086538872
POO_GET organizations/organizations22985150819453042534
POO_GET organizations/organizations/[vendor_id]68942524296549419498
POO_GET saml/check57426206338940112401
POO_GET search/instances229810810630933385917859
POO_GET tags34521616193810011100
POO_GET users63181615193758912594
POO_PATCH orders/order-lines/[curent_po_line_id]574726696103918511549440315635
POO_POST /orders/composite-orders576989516628483357835
POO_POST orders/order-lines5761371322504861094751094
POO_PUT orders/composite-orders/[order_id]5741659154136128279828810988288
POO_PUT orders/composite-orders/[order_id_created]574625620757101416074881608
POO_PUT orders/order-lines/fund-distributions/validate5762525577067210672
POST /authn/refresh9494912712712736127
RW_GET /acquisitions-units/units17222525306722418226
RW_GET /configurations/entries172218182243741474
RW_GET /contributor-name-types114814141622661166
RW_GET /finance/expense-classes57425243265722072
RW_GET /finance/funds11484039455555934564
RW_GET /holdings-storage/holdings5742018566255011550
RW_GET /identifier-types114816161856801280
RW_GET /locations114814142129861086
RW_GET /material-types229614141828711071
RW_GET /orders/acquisition-methods5742727656810919109
RW_GET /orders/composite-orders28704847579260339608
RW_GET /orders/composite-orders/order_ID172228127736353811502321154
RW_GET /orders/configuration/prefixes57424243067901890
RW_GET /orders/configuration/suffixes5742424366510617106
RW_GET /orders/order-lines172252516410292542933
RW_GET /orders/order-lines/order_line_ID1722838015224386254865
RW_GET /orders/pieces Status=="Expected"114868677610691446922
RW_GET /orders/pieces Status=="Received"114867667310419647196
RW_GET /orders/pieces Status=Expected172270687514887447874
RW_GET /orders/pieces Status=Received114868677210919748197
RW_GET /orders/titles114854548910262640630
RW_GET /orders/titles/id17222827659115116151
RW_GET /organizations/organizations114855559113062742632
RW_GET /tags172217162236811281
RW_POST /orders/check-in574729706105922071761339017764
TC_POO: Add Order Lines cs00000int574307130243607901510584253110584
TC_POO: Create Order cs00000int5761318127720252895379210703792
TC_POO: Open Order cs00000int5742871272750271052210544220910544
TC_POO: Unopen Order cs00000int5743757373543345071549033165499
TC_POO: change-instance-connection-action cs00000int574409840845103757018484333318605
TC_RW: Receiving-an-Order-Line cs00000int574367536094349654220304308620452
TC_RW: Receiving-an-Order-Line cs00000int Receiving574270526473345532919357218019504
_/proxy/tenants/[tenant]/modules574737210816321962219
_/version5741212505597597
acquisitions-units/units5742625296880919816
all24248097971978785568518605
bl-users/_self574858415419388343886
configurations/entries86101616192561411620
consortia57419195465951295
consortia-configuration5741919556378011787
consortia/[consortia_ID]/_self574222259628216102
finance/funds5744241548916234162
inventory/items86102322264577218779
orders-storage/order-invoice-relns114815151957971097
orders/composite-orders22964746518958838593
orders/composite-orders/[order_id_created]114827427234942111832341187
orders/configuration/prefixes5742726656749818502
orders/configuration/reasons-for-closure11482626636755418559
orders/configuration/suffixes5742726646989117899
orders/export-history5742727616852620531
orders/order-lines114852526110014442144
orders/pieces861065647310392444931
organizations/organizations11485251889658742592
organizations/organizations/[vendor_id]11482727316753920544
saml/check57422205911117212172
tags57416161925971297
users22961616186911812118

Test №2

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

RequestsTotal Requests
Count
Response Time (milliseconds)
Averagepct90pct95pct99
POST /orders/composite-orders
Create Order
126180319892910
POST orders/order-lines
Create Order Line
1260189314503957
PUT orders/composite-orders/[order_id]
Open Order
1263.9806.0956.1006.100
PATCH orders/order-lines/[curent_po_line_id]
Change instance connection (Create New Holdings)
2521.0531.5022.6972.697
POST /orders/check-in
Receive Pieces
12526929181.0277.200
PUT orders/composite-orders/[order_id_created]
Unopen Order
1241.2271.8362.1942.835
 Full result table
TimetransactionNumberOfSamplesAverageMedianpct90pct95pct99MinMax
12/12/2024 13:31FOLIO: Login1387387387387387387387
12/12/2024 13:31GET bl-users/_self11288128812881288128812881288
12/12/2024 13:31JSR223 Sampler Clear file1989989989989989989989
12/12/2024 13:31JSR223 Sampler User info extractor192929292929292
12/12/2024 13:31POO_GET /acquisitions-units/memberships126666511413614520145
12/12/2024 13:31POO_GET /acquisitions-units/units50429264413150020504
12/12/2024 13:31POO_GET /configurations/entries151219182540861486
12/12/2024 13:31POO_GET /finance/expense-classes126383413013813820138
12/12/2024 13:31POO_GET /finance/funds252504316021221235212
12/12/2024 13:31POO_GET /material-types12620186584981298
12/12/2024 13:31POO_GET /orders/acquisition-methods126444111147954420544
12/12/2024 13:31POO_GET /orders/composite-orders/composite_orderId126777225833033055330
12/12/2024 13:31POO_GET /orders/configuration/prefixes50429266714917118171
12/12/2024 13:31POO_GET /orders/configuration/reasons-for-closure37826243012513719137
12/12/2024 13:31POO_GET /orders/configuration/suffixes50427246312014319143
12/12/2024 13:31POO_GET /orders/order-lines252575016024324340243
12/12/2024 13:31POO_GET /orders/order-templates126383510411411420114
12/12/2024 13:31POO_GET /orders/po-number126636211211212120121
12/12/2024 13:31POO_GET /organizations126686123826626649266
12/12/2024 13:31POO_GET /organizations/organizations/[vendor_id]126282510213213220132
12/12/2024 13:31POO_GET /tags50416152067681168
12/12/2024 13:31POO_GET /users25216152871711271
12/12/2024 13:31POO_GET _/proxy/tenants/[tenant]/modules252807811714914963149
12/12/2024 13:31POO_GET _/version2521818536099699
12/12/2024 13:31POO_GET acquisitions-units/units52922424276649618500
12/12/2024 13:31POO_GET configurations/entries277201817212953712798
12/12/2024 13:31POO_GET consortia25225256063821282
12/12/2024 13:31POO_GET consortia-configuration2522926606487312881
12/12/2024 13:31POO_GET consortia/[consortia_ID]/_self2523330667180116808
12/12/2024 13:31POO_GET consortia/[consortia_ID]/tenants2522928616411813118
12/12/2024 13:31POO_GET contributor-name-types45361515175361510621
12/12/2024 13:31POO_GET contributor-types15122928347052722531
12/12/2024 13:31POO_GET finance/budgets50436357011051320517
12/12/2024 13:31POO_GET finance/expense-classes17642727656853220537
12/12/2024 13:31POO_GET finance/funds79384241488586832876
12/12/2024 13:31POO_GET finance/transactions5043332687156820573
12/12/2024 13:31POO_GET holdings-storage/holdings12601817525978411791
12/12/2024 13:31POO_GET identifier-types302416161958901290
12/12/2024 13:31POO_GET instance-formats15121919246010713107
12/12/2024 13:31POO_GET instance-relationship-types35281515185623611238
12/12/2024 13:31POO_GET instance-types30241716195854412549
12/12/2024 13:31POO_GET inventory/instances352849499011059319598
12/12/2024 13:31POO_GET inventory/instances/[instances_id]1260686610719557446574
12/12/2024 13:31POO_GET inventory/items75633337411579919806
12/12/2024 13:31POO_GET invoice/invoice-lines17643130729823721550
12/12/2024 13:31POO_GET locations73081514184812210123
12/12/2024 13:31POO_GET material-types55441515175353911544
12/12/2024 13:31POO_GET modes-of-issuance15121717245913711137
12/12/2024 13:31POO_GET nature-of-content-terms15121818255980311838
12/12/2024 13:31POO_GET note-links/domain/orders/type/poLine/id/[curent_po_line_id]5041918235950113505
12/12/2024 13:31POO_GET note-links/domain/orders/type/poLine/id/[poLine_id]126019192563951395
12/12/2024 13:31POO_GET note-types176419192661991399
12/12/2024 13:31POO_GET orders-storage/order-invoice-relns17641616185850110505
12/12/2024 13:31POO_GET orders/acquisition-methods12603028667385319855
12/12/2024 13:31POO_GET orders/acquisition-methods/[acquisitionMethod_ID]5042525606710718107
12/12/2024 13:31POO_GET orders/acquisition-methods/[acquisition_methods_id]12602827648262118622
12/12/2024 13:31POO_GET orders/composite-orders415868669212090741910
12/12/2024 13:31POO_GET orders/composite-orders/[order_id]45362762723975031989551991
12/12/2024 13:31POO_GET orders/configuration/prefixes27722525306756017565
12/12/2024 13:31POO_GET orders/configuration/reasons-for-closure46622525296851619520
12/12/2024 13:31POO_GET orders/configuration/suffixes27722524306780018807
12/12/2024 13:31POO_GET orders/export-history18902827657181819825
12/12/2024 13:31POO_GET orders/order-lines478857569310759040595
12/12/2024 13:31POO_GET orders/order-templates12602928666950819512
12/12/2024 13:31POO_GET orders/pieces504848115030771249717
12/12/2024 13:31POO_GET orders/titles176455549214956441569
12/12/2024 13:31POO_GET organizations/organizations289852518810357741582
12/12/2024 13:31POO_GET organizations/organizations/[vendor_id]78122424276665519660
12/12/2024 13:31POO_GET saml/check252332965801162131173
12/12/2024 13:31POO_GET search/instances201627928140543749316493
12/12/2024 13:31POO_GET tags55441515185410511118
12/12/2024 13:31POO_GET users52921616196754612551
12/12/2024 13:31POO_PATCH orders/order-lines/[curent_po_line_id]252105310181502269726976312697
12/12/2024 13:31POO_POST /orders/composite-orders12618017331989291060910
12/12/2024 13:31POO_POST orders/order-lines1260189186314503957124958
12/12/2024 13:31POO_PUT orders/composite-orders/[order_id]1263980390760956100610025516100
12/12/2024 13:31POO_PUT orders/composite-orders/[order_id_created]124122712381836219428358302835
12/12/2024 13:31POST /authn/refresh9586215715715746157
12/12/2024 13:31RW_GET /acquisitions-units/units15022625326783119839
12/12/2024 13:31RW_GET /configurations/entries150219192361661466
12/12/2024 13:31RW_GET /contributor-name-types250215151754661166
12/12/2024 13:31RW_GET /finance/expense-classes12625253066702070
12/12/2024 13:31RW_GET /finance/funds25241414484953695
12/12/2024 13:31RW_GET /holdings-storage/holdings12501816205877211774
12/12/2024 13:31RW_GET /identifier-types25021616195211312113
12/12/2024 13:31RW_GET /locations250015151955861086
12/12/2024 13:31RW_GET /material-types16281615205854811553
12/12/2024 13:31RW_GET /orders/acquisition-methods12629296713013120131
12/12/2024 13:31RW_GET /orders/composite-orders175450498913357140575
12/12/2024 13:31RW_GET /orders/composite-orders/order_ID262828628139850013212421329
12/12/2024 13:31RW_GET /orders/configuration/prefixes12624242865661966
12/12/2024 13:31RW_GET /orders/configuration/suffixes12625265566661966
12/12/2024 13:31RW_GET /orders/order-lines150258579710981947825
12/12/2024 13:31RW_GET /orders/order-lines/order_line_ID3754737211215999057991
12/12/2024 13:31RW_GET /orders/pieces Status=="Expected"250266667210468747693
12/12/2024 13:31RW_GET /orders/pieces Status=="Received"2502676672981239481250
12/12/2024 13:31RW_GET /orders/pieces Status=Expected375468687611062949634
12/12/2024 13:31RW_GET /orders/pieces Status=Received250267677310624348243
12/12/2024 13:31RW_GET /orders/titles13765352909887841886
12/12/2024 13:31RW_GET /orders/titles/id37542524296585717860
12/12/2024 13:31RW_GET /organizations/organizations25025050889354441548
12/12/2024 13:31RW_GET /tags150215151957821182
12/12/2024 13:31RW_POST /orders/check-in1252692692918102772004407222
12/12/2024 13:31TC_POO: Add Order Lines cs00000int12603676365347665809815629578156
12/12/2024 13:31TC_POO: Create Order cs00000int1261561149037504345434511564345
12/12/2024 13:31TC_POO: Open Order cs00000int1265337527973437360736038107360
12/12/2024 13:31TC_POO: Unopen Order cs00000int1244657466456395874651338906513
12/12/2024 13:31TC_POO: change-instance-connection-action cs00000int2524767472666076947755138937560
12/12/2024 13:31TC_RW: Receiving-an-Order-Line cs00000int12426416264302854329174346252423434625
12/12/2024 13:31TC_RW: Receiving-an-Order-Line cs00000int Receiving12502605261630883454952322239545
12/12/2024 13:31_/proxy/tenants/[tenant]/modules124818111915015063150
12/12/2024 13:31_/version1242120525377677
12/12/2024 13:31acquisitions-units/units12424242662682068
12/12/2024 13:31all21410712110926984727632632271
12/12/2024 13:31bl-users/_self124221194127016771677461677
12/12/2024 13:31configurations/entries186017172024741274
12/12/2024 13:31consortia12426276061751275
12/12/2024 13:31consortia-configuration12424246065941294
12/12/2024 13:31consortia/[consortia_ID]/_self12432317478981598
12/12/2024 13:31finance/funds1244444828615836158
12/12/2024 13:31inventory/items18602524276611319113
12/12/2024 13:31orders-storage/order-invoice-relns24816162557591159
12/12/2024 13:31orders/composite-orders4964949859117841178
12/12/2024 13:31orders/composite-orders/[order_id_created]248286286376492558243558
12/12/2024 13:31orders/configuration/prefixes1243031668010119101
12/12/2024 13:31orders/configuration/reasons-for-closure2482728666711020110
12/12/2024 13:31orders/configuration/suffixes1242829667410219102
12/12/2024 13:31orders/export-history1243333709316922169
12/12/2024 13:31orders/order-lines24859599710417450174
12/12/2024 13:31orders/pieces186067667410526347264
12/12/2024 13:31organizations/organizations2484949559017841178
12/12/2024 13:31organizations/organizations/[vendor_id]24827276667691969
12/12/2024 13:31saml/check12428287589901390
12/12/2024 13:31tags12416161952931193
12/12/2024 13:31users49617171869981298

Test №3

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

RequestsTotal Requests
Count
Response Time (milliseconds)
Averagepct90pct95pct99
POST /orders/composite-orders
Create Order
26270314331331
POST orders/order-lines
Create Order Line
1300179175307469
PUT orders/composite-orders/[order_id]
Open Order
2619.30525.63325.75525.761

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

2201.6323.2503.5424.186
POST /orders/check-in
Receive Pieces
12009401.1921.3111.832
PUT orders/composite-orders/[order_id_created]
Unopen Order
244.4715.8665.910

5.910

 Full result table
TimetransactionNumberOfSamplesAverageMedianpct90pct95pct99MinMax
12/12/2024 15:21FOLIO: Login1337337337337337337337
12/12/2024 15:21GET bl-users/_self11168116811681168116811681168
12/12/2024 15:21JSR223 Sampler Clear file11066106610661066106610661066
12/12/2024 15:21JSR223 Sampler User info extractor1100100100100100100100
12/12/2024 15:21POO_GET /acquisitions-units/memberships2611111013214814867148
12/12/2024 15:21POO_GET /acquisitions-units/units104353011512112121121
12/12/2024 15:21POO_GET /configurations/entries31220182374751575
12/12/2024 15:21POO_GET /finance/expense-classes2610810515215215265152
12/12/2024 15:21POO_GET /finance/funds52816720920920939209
12/12/2024 15:21POO_GET /material-types2634267979791379
12/12/2024 15:21POO_GET /orders/acquisition-methods26928811911911922119
12/12/2024 15:21POO_GET /orders/composite-orders/composite_orderId261058933133133158331
12/12/2024 15:21POO_GET /orders/configuration/prefixes104514512715815819158
12/12/2024 15:21POO_GET /orders/configuration/reasons-for-closure78383311211411420114
12/12/2024 15:21POO_GET /orders/configuration/suffixes10444409514514519145
12/12/2024 15:21POO_GET /orders/order-lines52816325425425440254
12/12/2024 15:21POO_GET /orders/order-templates2610610612614414566145
12/12/2024 15:21POO_GET /orders/po-number2610410411729438738387
12/12/2024 15:21POO_GET /organizations26957926626626651266
12/12/2024 15:21POO_GET /organizations/organizations/[vendor_id]26575013013814121141
12/12/2024 15:21POO_GET /tags10423196672721272
12/12/2024 15:21POO_GET /users5224217171721272
12/12/2024 15:21POO_GET _/proxy/tenants/[tenant]/modules222787711514315863158
12/12/2024 15:21POO_GET _/version2221717535877677
12/12/2024 15:21POO_GET acquisitions-units/units54222524286859719603
12/12/2024 15:21POO_GET configurations/entries274941818212921712741
12/12/2024 15:21POO_GET consortia22225246569801380
12/12/2024 15:21POO_GET consortia-configuration22226256380841284
12/12/2024 15:21POO_GET consortia/[consortia_ID]/_self2223029677410417104
12/12/2024 15:21POO_GET consortia/[consortia_ID]/tenants2222525616312213123
12/12/2024 15:21POO_GET contributor-name-types45641615225857911584
12/12/2024 15:21POO_GET contributor-types15222929407014922150
12/12/2024 15:21POO_GET finance/budgets4423231697455120555
12/12/2024 15:21POO_GET finance/expense-classes17422727407114519145
12/12/2024 15:21POO_GET finance/funds78544342508784733848
12/12/2024 15:21POO_GET finance/transactions4423029687111321113
12/12/2024 15:21POO_GET holdings-storage/holdings13001817205960511610
12/12/2024 15:21POO_GET identifier-types30421717255921912221
12/12/2024 15:21POO_GET instance-formats15222120546180313810
12/12/2024 15:21POO_GET instance-relationship-types34841615245712511126
12/12/2024 15:21POO_GET instance-types30441717275912812128
12/12/2024 15:21POO_GET inventory/instances348453539614029619297
12/12/2024 15:21POO_GET inventory/instances/[instances_id]1300676611916934647347
12/12/2024 15:21POO_GET inventory/items660505012315822020220
12/12/2024 15:21POO_GET invoice/invoice-lines174232317111685921866
12/12/2024 15:21POO_GET locations71981615235679410797
12/12/2024 15:21POO_GET material-types56441515205713011130
12/12/2024 15:21POO_GET modes-of-issuance15221717296056611571
12/12/2024 15:21POO_GET nature-of-content-terms15221818536153711542
12/12/2024 15:21POO_GET note-links/domain/orders/type/poLine/id/[curent_po_line_id]44218182258731373
12/12/2024 15:21POO_GET note-links/domain/orders/type/poLine/id/[poLine_id]13001919546211113111
12/12/2024 15:21POO_GET note-types17421918276013113132
12/12/2024 15:21POO_GET orders-storage/order-invoice-relns157416151957851085
12/12/2024 15:21POO_GET orders/acquisition-methods130029286410859019595
12/12/2024 15:21POO_GET orders/acquisition-methods/[acquisitionMethod_ID]4422726339312919129
12/12/2024 15:21POO_GET orders/acquisition-methods/[acquisition_methods_id]13002727619314818148
12/12/2024 15:21POO_GET orders/composite-orders397870699413362141626
12/12/2024 15:21POO_GET orders/composite-orders/[order_id]43963083064336432471562488
12/12/2024 15:21POO_GET orders/configuration/prefixes28222424286756718572
12/12/2024 15:21POO_GET orders/configuration/reasons-for-closure44222524296753818543
12/12/2024 15:21POO_GET orders/configuration/suffixes28222424286686618874
12/12/2024 15:21POO_GET orders/export-history17682726616914519145
12/12/2024 15:21POO_GET orders/order-lines46166262981221190421193
12/12/2024 15:21POO_GET orders/order-templates13002927376988719895
12/12/2024 15:21POO_GET orders/pieces440969421230337053370
12/12/2024 15:21POO_GET orders/titles174258569213283041833
12/12/2024 15:21POO_GET organizations/organizations284853529113879541802
12/12/2024 15:21POO_GET organizations/organizations/[vendor_id]76582524286698418988
12/12/2024 15:21POO_GET saml/check22227267477941394
12/12/2024 15:21POO_GET search/instances196430429143547094117946
12/12/2024 15:21POO_GET tags56441515185775510762
12/12/2024 15:21POO_GET users48901616193112912130
12/12/2024 15:21POO_PATCH orders/order-lines/[curent_po_line_id]220163215703250354241865914187
12/12/2024 15:21POO_POST /orders/composite-orders26270269314331331151331
12/12/2024 15:21POO_POST orders/order-lines130017917530746917181281722
12/12/2024 15:21POO_PUT orders/composite-orders/[order_id]2619305195472563325755257611616125761
12/12/2024 15:21POO_PUT orders/composite-orders/[order_id_created]244471452858665910591032145910
12/12/2024 15:21POST /authn/refresh9747113813813843138
12/12/2024 15:21RW_GET /acquisitions-units/units12482626367051320517
12/12/2024 15:21RW_GET /configurations/entries12482120256285415857
12/12/2024 15:21RW_GET /contributor-name-types24001514185757411579
12/12/2024 15:21RW_GET /finance/expense-classes2424242830302130
12/12/2024 15:21RW_GET /finance/funds4842424574853785
12/12/2024 15:21RW_GET /holdings-storage/holdings12001716245852011525
12/12/2024 15:21RW_GET /identifier-types240016161957841284
12/12/2024 15:21RW_GET /locations24001515215752411528
12/12/2024 15:21RW_GET /material-types12721716255853011530
12/12/2024 15:21RW_GET /orders/acquisition-methods24677253758460021600
12/12/2024 15:21RW_GET /orders/composite-orders12965654901321091401094
12/12/2024 15:21RW_GET /orders/composite-orders/order_ID242432932346866814832841483
12/12/2024 15:21RW_GET /orders/configuration/prefixes2423222525252025
12/12/2024 15:21RW_GET /orders/configuration/suffixes2423232727272127
12/12/2024 15:21RW_GET /orders/order-lines124862601001381266481269
12/12/2024 15:21RW_GET /orders/order-lines/order_line_ID360070678016182756833
12/12/2024 15:21RW_GET /orders/pieces Status=="Expected"24006666738923748238
12/12/2024 15:21RW_GET /orders/pieces Status=="Received"24006666737957750582
12/12/2024 15:21RW_GET /orders/pieces Status=Expected3600696875881156491161
12/12/2024 15:21RW_GET /orders/pieces Status=Received240068677410470150705
12/12/2024 15:21RW_GET /orders/titles122458589210261241612
12/12/2024 15:21RW_GET /orders/titles/id36002423286918617187
12/12/2024 15:21RW_GET /organizations/organizations24005150889561241616
12/12/2024 15:21RW_GET /tags12481616195778411791
12/12/2024 15:21RW_POST /orders/check-in12009409261192131118326021837
12/12/2024 15:21TC_POO: Add Order Lines cs00000int13003811379946385526777833297778
12/12/2024 15:21TC_POO: Create Order cs00000int262342218444984498449816964498
12/12/2024 15:21TC_POO: Open Order cs00000int2621016213132723227414274421779327442
12/12/2024 15:21TC_POO: Unopen Order cs00000int2490729154103271034110341830510341
12/12/2024 15:21TC_POO: change-instance-connection-action cs00000int220566855878318937910249424310251
12/12/2024 15:21TC_RW: Receiving-an-Order-Line cs00000int24145692145321157002157523157563140093157563
12/12/2024 15:21TC_RW: Receiving-an-Order-Line cs00000int Receiving12002950293234914041558425035592
12/12/2024 15:21_/proxy/tenants/[tenant]/modules2410510714815415465154
12/12/2024 15:21_/version244243537073773
12/12/2024 15:21acquisitions-units/units2424243064642164
12/12/2024 15:21all19475915111031011121413196157563
12/12/2024 15:21bl-users/_self2423624042273673680736
12/12/2024 15:21configurations/entries36017172124911391
12/12/2024 15:21consortia2456566178781478
12/12/2024 15:21consortia-configuration2461579494941494
12/12/2024 15:21consortia/[consortia_ID]/_self2459596464641764
12/12/2024 15:21finance/funds2484848891918291
12/12/2024 15:21inventory/items36033326711015020150
12/12/2024 15:21orders-storage/order-invoice-relns4846476162911291
12/12/2024 15:21orders/composite-orders9658575247882543825
12/12/2024 15:21orders/composite-orders/[order_id_created]48327324510510604288604
12/12/2024 15:21orders/configuration/prefixes2410810913117417465174
12/12/2024 15:21orders/configuration/reasons-for-closure48878611211311722117
12/12/2024 15:21orders/configuration/suffixes2410310211111711965119
12/12/2024 15:21orders/export-history2410410412713113124131
12/12/2024 15:21orders/order-lines48697010511211761117
12/12/2024 15:21orders/pieces360716879861205561205
12/12/2024 15:21organizations/organizations4847475266914491
12/12/2024 15:21organizations/organizations/[vendor_id]48818011311313120131
12/12/2024 15:21saml/check24656510111111127111
12/12/2024 15:21tags2414141717171317
12/12/2024 15:21users963836798110413104

Comparison

Test №1-№2-№3

The following table compares the results between tests №1,  №2 and №3. 

  • 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.


Resource utilization for Test #1-2-3

 Resource utilization table
CPU RAM 
mod-inventory-storage-b3.50%mod-finance-b70%
mod-search-b2.80%mod-inventory-b69%
mod-inventory-b1.70%mod-invoice-b57%
mod-orders-storage-b1.00%mod-orders-b57%
mod-orders-b0.70%mod-orders-storage-b57%
mod-finance-storage-b0.20%mod-search-b44%
mod-finance-b0.10%mod-finance-storage-b32%
mod-invoice-b0.04%mod-invoice-storage-b23%
mod-invoice-storage-b0.03%mod-inventory-storage-b22%

Service CPU Utilization

Here we can see that mod-search initiated reindexing for Test #2.

Service Memory Utilization

Here we can see that all modules show a stable trend.

Kafka metrics


OpenSearch Data Nodes metrics

DB CPU Utilization

DB CPU in the average were 20% for Scenario 1, 30% for Scenario 2 and 40% for Scenario 3

.

DB Connections

Max DB connections was 1560.

DB load

                                                                                                                     

Top SQL-queries



#TOP 5 SQL statements
1
SELECT i.json
  || jsonb_build_object('tenantId', i.tenant_id,
                        'shared', i.shared,
                        'isBoundWith', i.is_bound_with,
                        'holdings', COALESCE(jsonb_agg(DISTINCT h.json || jsonb_build_object('tenantId', h.tenant_id)) FILTER (WHERE h.json IS NOT NULL), '[]'::jsonb),
                        'items', COALESCE(jsonb_agg(it.json || jsonb_build_object('tenantId', it.tenant_id)) FILTER (WHERE it.json IS NOT NULL), '[]'::jsonb)) as json
FROM cs00000int_mod_search.instance i
  LEFT JOIN cs00000int_mod_search.holding h on h.instance_id = i.id
  LEFT JOIN cs00000int_mod_search.item it on it.holding_id = h.id
  WHERE i.id IN ($1::uuid)
  GROUP BY i.id
2
SELECT * FROM cs00000int_mod_orders_storage.internal_lock WHERE lock_name = $1 FOR UPDATE
3
SELECT jsonb FROM cs00000int_mod_orders_storage.po_line WHERE lower(f_unaccent(po_line.jsonb->>'locations')) LIKE lower(f_unaccent('%b4585aae-b502-43e6-95c6-4de1c038f6af%')) 
LIMIT 2147483647 OFFSET 0
4
SELECT i.json
  || jsonb_build_object('tenantId', i.tenant_id,
                        'shared', i.shared,
                        'isBoundWith', i.is_bound_with,
                        'holdings', COALESCE(jsonb_agg(DISTINCT h.json || jsonb_build_object('tenantId', h.tenant_id)) FILTER (WHERE h.json IS NOT NULL), '[]'::jsonb),
                        'items', COALESCE(jsonb_agg(it.json || jsonb_build_object('tenantId', it.tenant_id)) FILTER (WHERE it.json IS NOT NULL), '[]'::jsonb)) as json
FROM cs00000int_mod_search.instance i
  LEFT JOIN cs00000int_mod_search.holding h on h.instance_id = i.id
  LEFT JOIN cs00000int_mod_search.item it on it.holding_id = h.id
  WHERE i.id IN ($1::uuid,$2::uuid,$3::uuid,$4::uuid,$5::uuid,$6::uuid)
  GROUP BY i.id
5
SELECT cs00000int_mod_orders_storage.count_estimate('SELECT jsonb,id FROM cs00000int_mod_orders_storage.acquisitions_unit WHERE (CASE WHEN length(lower(f_unaccent(''false''))) 
<= 600 THEN left(lower(f_unaccent(acquisitions_unit.jsonb->>''isDeleted'')),600) LIKE lower(f_unaccent(''false'')) ELSE left(lower(f_unaccent(acquisitions_unit.jsonb->>''isDeleted'')),600)
LIKE left(lower(f_unaccent(''false'')),600) AND lower(f_unaccent(acquisitions_unit.jsonb->>''isDeleted'')) LIKE lower(f_unaccent(''false'')) END) AND
(CASE WHEN length(lower(f_unaccent(''false''))) <= 600 THEN left(lower(f_unaccent(acquisitions_unit.jsonb->>''protectRead'')),600) LIKE lower(f_unaccent(''false''))
ELSE left(lower(f_unaccent(acquisitions_unit.jsonb->>''protectRead'')),600) LIKE left(lower(f_unaccent(''false'')),600) AND lower(f_unaccent(acquisitions_unit.jsonb->>''protectRead''))
LIKE lower(f_unaccent(''false'')) END)')

Appendix

Infrastructure

PTF - environment Ramsons (rcon)

  • 11 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 [Number of ECS instances, instance type, location region]

  • 1 instance of db.r6.xlarge database instance: Writer instance

  • OpenSearch

    • domain: ptf-test

    • Number of nodes: 7

    • Version: OpenSearch_2_13_R20240520-P5

  • MSK - fse-tenant

    • 4 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


 RCON modules memory and CPU parameters

rcon-pvt (Wed Dec 11 13:14:17 UTC 2024)

ModuleTask Definition RevisionModule VersionTask CountMem Hard LimitMem Soft LimitCPU UnitsXmxMetaspace SizeMax Metaspace Size
mod-remote-storage7mod-remote-storage:3.3.224920447203960512512
mod-finance-storage7mod-finance-storage:8.7.321024896070088128
mod-ncip7mod-ncip:1.15.621024896076888128
mod-agreements7mod-agreements:7.1.22159214880000
mod-ebsconet7mod-ebsconet:2.3.02124810240700128256
mod-organizations7mod-organizations:2.0.021024896070088128
mod-consortia9mod-consortia:1.2.1251364776020485121024
edge-sip27edge-sip2:3.3.121024896076888128
mod-serials-management7mod-serials-management:1.1.122480231201792384512
mod-settings7mod-settings:1.1.021024896076888128
mod-data-import7mod-data-import:3.2.112048184401292384512
mod-search15mod-search:4.0.2225922480014405121024
edge-dematic7edge-dematic:2.3.111024896076888128
mod-inn-reach4mod-inn-reach:3.2.1-SNAPSHOT.102236003240028805121024
mod-record-specifications7mod-record-specifications:1.0.221024896076888128
mod-tags7mod-tags:2.3.021024896076888128
mod-authtoken9mod-authtoken:2.16.1214401152092288128
edge-courses7edge-courses:1.5.021024896076888128
mod-notify7mod-notify:3.3.021024896076888128
mod-inventory-update7mod-inventory-update:4.0.021024896076888128
mod-configuration7mod-configuration:5.11.021024896076888128
mod-orders-storage7mod-orders-storage:13.8.321024896070088128
edge-caiasoft7edge-caiasoft:2.3.221024896076888128
mod-login-saml7mod-login-saml:2.9.321024896076888128
mod-erm-usage-harvester7mod-erm-usage-harvester:5.0.121024896076888128
mod-gobi7mod-gobi:2.9.021024896070088128
mod-licenses7mod-licenses:6.1.222480231201792384512
mod-password-validator7mod-password-validator:3.3.02144012980768384512
edge-dcb8edge-dcb:1.2.121024896076888128
mod-bulk-operations7mod-bulk-operations:2.1.423072260001536384512
mod-fqm-manager9mod-fqm-manager:3.0.3230002600076888128
mod-graphql8mod-graphql:1.13.021024896076888128
mod-finance7mod-finance:5.0.021024896070088128
mod-erm-usage7mod-erm-usage:5.0.022800255001800384512
mod-batch-print7mod-batch-print:1.2.021024896076888128
mod-tlr4mod-tlr:1.0.0-SNAPSHOT.821024896076888128
mod-lists11mod-lists:3.0.3260002600076888128
mod-copycat7mod-copycat:1.7.021024512076888128
mod-entities-links10mod-entities-links:3.1.12259224800144001024
mod-permissions11mod-permissions:6.6.021684154401024384512
pub-edge7pub-edge:2023.06.1401024896076800
mod-orders7mod-orders:12.9.222048174001024384512
edge-patron7edge-patron:5.2.021024896076888128
mod-marc-migrations15mod-marc-migrations:1.0.121024896076888128
edge-ncip8edge-ncip:1.10.121024896076888128
edge-inn-reach5edge-inn-reach:3.3.0-SNAPSHOT.6921024896076888128
mod-users-bl7mod-users-bl:7.9.3214401152092288128
mod-oa4mod-oa:2.1.0-SNAPSHOT.6621024896076888128
mod-inventory-storage8mod-inventory-storage:28.0.2240963690030765121024
mod-invoice7mod-invoice:5.9.1214401152092288128
mod-user-import7mod-user-import:3.9.021024896076888128
mod-sender7mod-sender:1.13.021024896076888128
edge-oai-pmh7edge-oai-pmh:2.10.021512136001440384512
mod-data-export-worker8mod-data-export-worker:3.3.323072204802048384512
mod-rtac7mod-rtac:3.7.021024896076888128
mod-circulation-storage7mod-circulation-storage:17.3.122880259201814384512
mod-source-record-storage12mod-source-record-storage:5.9.325600500003500384512
mod-calendar7mod-calendar:3.2.021024896076888128
mod-event-config7mod-event-config:2.8.021024896076888128
mod-courses8mod-courses:1.4.1121024896076888128
mod-circulation-item7mod-circulation-item:1.1.0210248960000
mod-inventory7mod-inventory:21.0.222880259201814384512
mod-email7mod-email:1.18.022800255001800384512
mod-requests-mediated4mod-requests-mediated:1.0.0-SNAPSHOT.421024896076888128
mod-circulation7mod-circulation:24.3.222880259201814384512
mod-pubsub7mod-pubsub:2.15.22153614400922384512
mod-di-converter-storage7mod-di-converter-storage:2.3.121024896076888128
edge-rtac7edge-rtac:2.8.021024896076888128
edge-orders7edge-orders:3.1.021024896076888128
mod-users7mod-users:19.4.321024896076888128
mod-template-engine7mod-template-engine:1.21.021024896076888128
mod-patron-blocks7mod-patron-blocks:1.11.121024896076888128
mod-audit7mod-audit:2.10.121024896076888128
edge-fqm8edge-fqm:3.0.121024896076888128
mod-source-record-manager7mod-source-record-manager:3.9.325600500003500384512
nginx-edge7nginx-edge:2023.06.14010248960000
mod-quick-marc7mod-quick-marc:6.0.012288217601664384512
nginx-okapi7nginx-okapi:2023.06.14210248960000
okapi-b7okapi:6.1.02168414400922384512
mod-feesfines7mod-feesfines:19.2.121024896076888128
mod-invoice-storage7mod-invoice-storage:5.9.121872153601024384512
mod-reading-room7mod-reading-room:1.0.021024896076888128
mod-dcb7mod-dcb:1.2.321024896076888128
mod-service-interaction7mod-service-interaction:4.1.122048184401290384512
mod-patron7mod-patron:6.2.121024896076888128
mod-data-export12mod-data-export:5.1.21204818440000
mod-oai-pmh7mod-oai-pmh:3.14.324096369003076384512
edge-connexion7edge-connexion:1.3.121024896076888128
mod-notes7mod-notes:6.0.0210248960952384512
mod-kb-ebsco-java8mod-kb-ebsco-java:5.0.021024896076888128
mod-organizations-storage7mod-organizations-storage:4.8.121024896070088128
mod-data-export-spring7mod-data-export-spring:3.4.212048184401536384512
mod-login7mod-login:7.12.12144012980768384512
pub-okapi7pub-okapi:2023.06.1421024896076800
edge-erm5edge-erm:1.3.021024896076888128
mod-eusage-reports7mod-eusage-reports:3.0.021024896076888128


Methodology/Approach

All tests scenarios  were started from Load Generator i-066a4ed5e6ec777bc on Ramsons ECS (rcon) environment.

Parameters for Tests:

  • Number of users: 1
  • Test duration: 20min
  • Each test scenario was conducted with the following dataset sizes for mod_audit.acquisition_order_log, mod_audit.acquisition_order_line_log and mod_audit.acquisition_piece_log tables:
    • 500k records
    • 1 million records
    • 5 million records
  • No pause between user action

Test scenario №1

  • Open Order tub

  • Open Order (with 10 changes in history)

  • View Order history
  • Open Order Line (with 10 changes in history)

  • View Order Line history
  • Open Pieces (with 10 changes in history)

  • View Pieces history

Test scenario №2

  • Open Order tub

  • Open Order (with 50 changes in history)

  • View Order history
  • Open Order Line (with 50 changes in history)

  • View Order Line history
  • Open Pieces (with 50 changes in history)

  • View Pieces history

Test scenario №3

  • Open Order tub

  • Open Order (with 100 changes in history)

  • View Order history
  • Open Order Line (with 100 changes in history)

  • View Order Line history
  • Open Pieces (with 100 changes in history)

  • View Pieces history

Test scenario №4

  • Open Order tub

  • Open Order (with 1000 changes in history)

  • View Order history
  • Open Order Line (with 1000 changes in history)

  • View Order Line history
  • Open Pieces (with 1000 changes in history)

  • View Pieces history

Attached files

Ramsons ECS (rcon) module configuration parameters:

 

JMeter script:




  • No labels