/
Folijet - Morning Glory Snapshot Performance testing

Folijet - Morning Glory Snapshot Performance testing

The following resources are used:

  • 6 m4large EC2 spot instances for Kubernetes cluster;
  • 1 db.r5.xlarge instance for RDS service (writer)
  • one m5.large per 2 zones for kafks on MSK

Previous Lotus testing performance results:

Lotus Snapshot Performance testing


Modules:

Data Import Module (mod-data-import-2.5.0-SNAPSHOT.231)

Source Record Manager Module (mod-source-record-manager-3.4.0-SNAPSHOT.621)

Source Record Storage Module (mod-source-record-storage-5.4.0-SNAPSHOT.426)

Inventory Module (mod-inventory-18.2.0-SNAPSHOT.537) -  mod-inventory-18.0.0

Inventory Storage Module (mod-inventory-storage-23.1.0-SNAPSHOT.692)

Data Import Converter Storage (mod-data-import-converter-storage-1.14.0-SNAPSHOT.202)

Invoice business logic module (mod-invoice-5.4.0-SNAPSHOT.306)

Data Export Module (mod-data-export-4.5.0-SNAPSHOT.319)


Performance-optimized configuration:

Folio


MAX_REQUEST_SIZE = 4000000 (for all modules)

Kafka


2 Tasks for all DI Modules (except mod-data-import)

2 Partition for all DI Kafka topics

Please Notice: an environment should be configured in such a way that for every Kafka topic there are as many partitions as many instances created for a module connected to that topic

Examples:

Delete old topic
./kafka-topics.sh --bootstrap-server=<kafka-ip>:9092 --delete --topic perf-eks-folijet.Default.fs09000000.DI_ERROR


recreate topic with "--partitions 2 --replication-factor 1"
./kafka-topics.sh --bootstrap-server=<kafka-ip>:9092 --create --topic perf-eks-folijet.Default.fs09000000.DI_ERROR --partitions 2 --replication-factor 1

Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic perf-eks-folijet.Default.fs09000000.DI_ERROR.

get topic info
./kafka-topics.sh --bootstrap-server=<kafka-ip>:9092 --describe --topic perf-eks-folijet.Default.fs09000000.DI_ERROR
Created Topic

Topic: perf-eks-folijet.Default.fs09000000.DI_ERROR PartitionCount: 2   ReplicationFactor: 1    Configs: min.insync.replicas=1,message.format.version=2.6-IV0,unclean.leader.election.enable=true
    Topic: perf-eks-folijet.Default.fs09000000.DI_ERROR Partition: 0    Leader: 1   Replicas: 1 Isr: 1
    Topic: perf-eks-folijet.Default.fs09000000.DI_ERROR Partition: 1    Leader: 2   Replicas: 2 Isr: 2 (edited) 

JVM


mod-data-import: -XX:MaxRAMPercentage=85.0 -XX:+UseG1GC / cpu: 128m/192m | memory: 1Gi/1Gi

mod-source-record-manager: -XX:MaxRAMPercentage=65 -XX:MetaspaceSize=120M -XX:+UseG1GC / DB_MAXPOOLSIZE = 15 / DB_RECONNECTATTEMPTS = 3 / DB_RECONNECTINTERVAL = 1000 /  cpu: 512m/1024m | memory: 1844Mi / 2Gi

mod-source-record-storage: -XX:MaxRAMPercentage=65 -XX:MetaspaceSize=120M -XX:+UseG1GC / DB_MAXPOOLSIZE = 15 / cpu: 512m/1024m | memory: 1296Mi/1440Mi

mod-inventory: -XX:MaxRAMPercentage=80 -XX:MetaspaceSize=120M -XX:+UseG1GC -Dorg.folio.metadata.inventory.storage.type=okapi  / DB_MAXPOOLSIZE = 15 / cpu: 512m/1024m | memory: 2592Mi/2880Mi

mod-inventory-storage: -XX:MaxRAMPercentage=80 -XX:MetaspaceSize=120M -XX:+UseG1GC / DB_MAXPOOLSIZE = 15 / cpu: 512m/1024m | memory: 1024Mi/1200Mi

Tests:

envprofile

records

number

time in Morning Glorytime in Lotus

Kafka

partition

number

module

instance

number

CPUdescription

MG Perf Rancher

PTF Create - 2

5000

7 min

8 min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-10T07:44:27.576+00:00

2022-06-10T07:51:11.140+00:00

MG Perf Rancher

PTF Create - 2

5000

7 min

8 min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

-Ddi.flow.control.enable=false

2022-06-14T10:24:44.093+00:00

2022-06-14T10:31:54.725+00:00

MG Perf Rancher

PTF Update - 1

5000

11 min

13 min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-20T06:18:46.748+00:00

2022-06-20T06:30:02.991+00:00

MG Perf Rancher

PTF Create - 2

10`000

16 min

19 min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-10T07:54:23.720+00:00

2022-06-10T08:08:48.484+00:00

MG Perf Rancher

PTF Create - 2

10`000

16 min

19 min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+
-Ddi.flow.control.enable=false

2022-06-14T10:36:41.482+00:00

2022-06-14T10:53:03.556+00:00

MG Perf Rancher

PTF Update - 1

10`000

22 min

25 min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-20T07:07:00.594+00:00

2022-06-20T07:28:54.905+00:00

MG Perf Rancher

PTF Create - 2

50`000

59 min

1h 25min

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-10T08:12:29.178+00:00

2022-06-10T09:11:34.642+00:00

MG Perf RancherPTF Update - 150`0001h 42 min2h 17min22512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-20T09:11:41.701+00:00

2022-06-20T10:54:29.378+00:00

MG Perf Rancher

PTF Create - 2

100`000

 2h 20min

2h 24min

(22 errors)

2

2

512/1024

mod-source-record-manager-3.4.0-SNAPSHOT.659+

2022-06-13T09:30:35.574+00:00

2022-06-13T12:26:52.484+00:00

MG Perf RancherPTF Update - 1100`0002h 49min

4h 40min

(tests were made for 1 instance number and partition numb