Performance tuning and benchmarks

Created by Shafeen Panjwani, Modified on Thu, 20 Jul, 2023 at 11:54 AM by Shafeen Panjwani

Agenda

The Document describes various parameters which can be used to improve performance of XCRO applications


Deal creation

With a typical setup of EXECUTION pod scaled to 10 instances, DEAL pod scaled to 5 instances and BFF pod scaled to 3 instances, we can expect the following numbers:

# of concurrent deals being created

# of sub instructions per deal

Schedule type

Time taken (seconds) per deal creation (approval)

1

5

Daily for 1+ year(s)

15 seconds

1

15

Daily for 1+ year(s)

25 seconds

1

50

Daily for 1+ year(s)

35 seconds

1

100

Daily for 1+ year(s)

140 seconds

5

20

Daily for 1+ year(s)

45 seconds



Deal execution

With a typical setup of EXECUTION pod scaled to 10 instances, DEAL pod scaled to 5 instances and BFF pod scaled to 3 instances with a tolerance window of 20 minutes, we can expect the following numbers where the value in column N implies the number of executions scheduled at the exact same time e.g. BOD 08:00 AM. These executions are spread across a certain number of deals, indicated in the second column. Note that executions at a deal level happen sequentially due to prioritization, but deals itself execute in parallel. This implies that one deal having 100 executions, versus 100 deals having 1 execution each, will have different performance results.

Key assumptions

  1. The results below indicate a round trip of 200ms to 300ms between the XCRO and the IL hitting CBS. These results will vary from one installation to another depending on the latency introduced by the CBS to respond to account balance inquiry and payment API calls.

  2. That the CBS is capable of handling concurrent hits in the range of 20-25 per second. XCRO does not throttle and aims at hitting the CBS as quickly as possible.

N (# of executions)

Deals

Total time taken (minutes)

Rate (approx)

50

20

< 1 minute

60 per minute

50

1

< 2 minutes

25 per minute

1000

200

< 10 minutes

100 per minute

5000

500

< 20 minutes

250 per minute

Report generation

With a typical setup of --max-old-space-size=4096 for DMS pod, we can expect the following numbers to generate reports.


# of records

# of columns

Time taken (minutes)

10000

All

< 1 minute

50000

20

< 1 minute

150000

20

< 1.5 minutes

450000

20

< 3 minutes


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article