Bulk Edit Items App report [Nolana] 27/10/2022

Bulk Edit Items App report [Nolana] 27/10/2022

 

 

Overview

Bulk Edit - Establish a performance baseline for user status bulk updates. 

  • How long does it take to export 100, 1000, 2500, 10k, and 100K records?

  • Use it for up to 5 concurrent users.  

  • Look for a memory trend and CPU usage

 

Infrastructure

PTF -environment

  • 9 m6i.2xlarge EC2 instances located in US West (Oregon)us-west-2 AWS region (comparing to 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 for Morning Glory release)

  • 2 instances of db.r6.xlarge database instances, one reader, and one writer

  • MSK ptf-kakfka-1

    • 4 m5.2xlarge brokers in 2 zones

    • Apache Kafka version 2.8.0

    • EBS storage volume per broker 300 GiB

    • auto.create.topics.enable=truec

    • log.retention.minutes=480

    • default.replication.factor=3

 

Modules memory and CPU parameters

#

modules

task definition

running tasks 

CPU

memory

memoryReservation

maxMetaspaceSize

Xmx

#

modules

task definition

running tasks 

CPU

memory

memoryReservation

maxMetaspaceSize

Xmx

 

mod-data-export-spring

2

1

256

2048

1844

512

1536 (1236 in MG)

 

mod-data-export-worker

3

2

1024

3072

2600

612

2128 (1536 in MG)

 

mod-users

4

2

128 (258 in MG)

1024

896

128

768

 

mod-notes

2

2

128

1024

896

128m

322 (768m in MG)

 

mod-inventory

2

2

1024

2880

2592

512m

1814m

 

mod-inventory-storage

5

2

1024

2208

1952

512m

1440m

 

okapi

2

3

1024

1684

1440

512m

922m

 

mod-orders

3

2

1024

2048

1440

512m

896m

 

mod-orders-storage

2

2

128

1024

896

128m

768m

 

mod-circulation

3

2

1024

1024

896

128m

768m

 

mod-circulation-storage

6

2

1024

1536

1440

512m

896m

 

mod-agreements

2

2

128

1592

1488

512m

968m

MG- Morning Glory release

Software Versions

  • mod-data-export-worker-1.5.0-SNAPSHOT.76

  • mod-data-export-spring-1.5.0-SNAPSHOT.58

  • mod-agreements-5.4.0-SNAPSHOT.104

  • mod-notes-4.0.0-SNAPSHOT.237

  • mod-users-19.0.0-SNAPSHOT.573

  • mod-inventory-19.0.0-SNAPSHOT.383

  • mod-inventory-storage-25.0.0-SNAPSHOT.631

  • okapi-4.14.4

Summary 

Test report for Bulk Edits items-app functionality 2022-10-27. 

  • 10k records per user, 5 users simultaneously (50k records total) can be uploaded in about 10 min 45 seconds, and edited in 17 minutes (about 28 min total).

  • The files with identifiers should be strictly determined.

  • The memory of mod-data-export-worker increased from 88% at the start of the tests and was about 102% at the end. Each step of memory increase is related to CPU spikes at the beginning of the records update. mod-inventory-storage memory increased from 80% to 94% (the possible reason is stepped increasing while another process starts on the server (indexing and EDIFACT)). mod-inventory memory increased by 2% (from 60% to 62% and become stable) after 2 of 3 50k records updating jobs were finished and only 1 job remaining. All other modules' memory usage was stable.

  • CPU - for 5 parallel jobs - for mod-data-export-worker are spiking up to 120% at the start of records updating( in general usage was about 8%). For all other modules did not exceed 40%.

  • For all records number (100, 1k,10k, 25k, 50k), 5 concurrent jobs - RDS CPU utilization did not exceed 32%.

Results

Test Runs

Items App - updating item status

Record identifier files location - http://carrier-io.int.folio.ebsco.com/artifacts?q=export

5 concurrent jobs

Nolana

Morning Glory

"BARCODE". Records number per 1 user

Time to upload

Time of POST /bulk-edit/${jobId}/upload

Time to edit - commit changes

Total time

Time to upload

Time of POST /bulk-edit/${jobId}/upload

Time to edit - commit changes

Total time

100

8 sec

2 sec

10 sec

18 sec

10-12 sec

2 sec

12-13 sec

25-27 sec

1000

1 min 10 sec

24-30 sec

1 min 25 sec

3 min

1min 40 sec

2-10 sec

2 min 15 sec

4 min

10k

10 min 45 sec

6-7 sec

16-17min

28 min

11 min 05 sec

2-3 sec

17-21 min

30 min

25k

28 min

20 sec

35 min

1 hour 3 min

21 min

6 sec

29-30 min

50 min

50k

3 of 5 successful - 56 min (files have 50k matched records)

2 of 5 failed "Connection reset (SocketException)"

41 sec

1 job- 50k records were processed in 44 min ({
  "total": 50000,
  "errors": 21543,
  "success": 28457,
  "progress": 100,
  "processed": 50000
})UPDATED and Errors files generated successfully.

For 2 of 3 jobs only 25k records were updated (UPDATED files have 25k records {
  "total": 25000,
  "errors": 0,
  "success": 25000,
  "progress": 100,
  "processed": 25000
} but Matched records files after identifiers uploaded - have 50k records)

about 2 hours for successful jobs.

"Connection reset (SocketException)"

-

-

-

 * "-" test was not performed due to errors that occurred

Memory usage

The memory of mod-data-export-worker increased from 88% at the start of the tests and was about 102% at the end. Each step of memory increase is related to CPU spikes at the beginning of the records update. mod-inventory-storage memory increased from 80% to 94% (the possible reason is stepped increasing while another process starts on the server (indexing and EDIFACT)). mod-inventory memory increased by 2% (from 60% to 62% and become stable) after 2 of 3 50k records updating jobs were finished and only 1 job remaining. All other modules' memory usage was stable.

 

CPU utilization

      CPU - for 5 parallel jobs - for mod-data-export-worker are spiking up to 120% at the start of records updating general usage was about 8%. For all other modules did not exceed 40%.

 

RDS CPU utilization

For all records number (100, 1k,10k, 25k, 50k), 5 concurrent jobs - RDS CPU utilization did not exceed 32%.

Tests for 25k records 5 concurrent jobs

  • 25k records per user, 5 users simultaneously (125k records total) can be uploaded in about 28 min, and edited in 35 minutes (about 1 hour total).

  • CPU - for all modules did not exceed 40%.

  • The memory of mod-data-export-worker increased from 77% at the start of the tests and was about 89% at the end. Each step of memory increase is related to the records updatePERF-328: Investigate memory usage for mod-data-export-workerClosed. All other modules' memory usage was stable.

 

Mod-data-export-worker -1.5.0-SNAPSHOT.76 memory usage increases -PERF-328: Investigate memory usage for mod-data-export-workerClosed