EDIFACT Order Export workflow report 3 [Morning Glory]

Infrastructure

PTF -environment

  • 10 m6i.2xlarge EC2 instances
  • 2 instances of db.r6.xlarge database instances, one reader and one writer
  • MSK

#

Modules

Version

Task Definition Revision

Running Tasks 

CPU

Memory (Hard Limit)

MemoryReservation (Soft Limit)

maxMetaspaceSize

Xmx

1

mod-inventory-storage

24.1.0102102422081952512m1440m
2okapi4.14.233102416841440512m922m
3mod-invoice-storage
32102418721536512m1024m
4mod-orders12.4.352102420481440512m896m
5mod-agreements5.2.25212815921488512m968m
6

mod-data-export-worker

1.4.1022210243072 2800612m 2128m 
7

mod-data-export-spring

1.4.56125620481844512m1292m
8mod-notes3.1.2321281024896128m768m
9mod-orders-storage13.3.3421281024896128m768m
10mod-inventory18.2.242102428802592512m1814m
11mod-users18.3.0722581024896128m768m

Summary 

  • The safe limit is 8-10 jobs with 1000 orders per organization
  • A few jobs failed with FTP error: Connection refused. However it doesn’t looks like it's the matter of FTP server. We did observe same behavior previously with 3-4 parallel job, and it was fixed by giving mod-data-export-worker more memory from  -XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=512m -Xmx1536m to XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=612m -Xmx1836m
    . At the same moment we can't see significant resource usage on FTP server side either.
  • The percentage of success is highly depended on the number of orders. The more orders there are the higher chance of completing all jobs successfully.
  • The upper safe limit for EDIFACT is 10 jobs with 1000 - 4000 orders per job.
  • Most of the tests were run one after another and no memory leak was found.

Test Results

Test #Concurrent JobsOrders Per JobSuccess rateTime
1101006/10±10 sec

Failed login to FTP (FtpException)

Socket closed (SocketException)

2105008/1055-57 sec
31010007/103 min

Failed login to FTP (FtpException)

Socket closed (SocketException)

41010009/102 min 17 s

Connection refused (Connection refused) (ConnectException)

51010008/102 min 48 s

Connection refused (Connection refused) (ConnectException)

File upload failed. 450 PASV: data transfer in progress (FtpException)

610200010/10±5 min
710400010/109-10 min
81060008/1016 min

Connection closed without indication. (FTPConnectionClosedException)

Connection is not open (IOException)

Resources usage

Most used modules (CPU)

  • mod-configurations - Up to 430% CPU usage on big amount of orders
  • nod-orders-storage - Up to 300%  CPU usage on big amount of orders
  • All the rest like mod-data-export-worker, mod-data-export-spring, mod-orders, mod-organisations, mod-organisations storage has CPU usage less than 70%


FTP server CPU usage

t2.micro

Here you can see that CPU usage on FTP server usually below 5%. To track RAM usage we'll need to establish additional monitoring. 


test 1 

test 2