Bulk Edit Holdings App report [Nolana] 10/11/2022



Overview

Bulk Edit - PERF-325 - Getting issue details... STATUS Establish a performance baseline for holdings bulk updates. 

  • How long does it take to export 100, 1000, and 10k 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


mod-data-export-spring21256204818445121536 (1236 in MG)

mod-data-export-worker321024307226006122128 (1536 in MG)

mod-users42128 (258 in MG)1024896128768

mod-notes221281024896128m322 (768m in MG)

mod-inventory22102428802592512m1814m

mod-inventory-storage

52102422081952512m1440m

okapi23102416841440512m922m

mod-orders32102420481440512m896m

mod-orders-storage221281024896128m768m

mod-circulation3210241024896128m768m

mod-circulation-storage62102415361440512m896m

mod-agreements2212815921488512m968m

MG- Morning Glory release

Software Versions

  • mod-data-export-worker-2.0.1
  • 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 holdings-app functionality 2022-11-10. 

  • 10k records per user, 5 users simultaneously (50k records total) can be uploaded and updated in about 12 min 30 seconds total. 100k records of 1 user can be edited in about 2 hours 17 min
  • The files with identifiers should be correctly specified.
  • The memory usage of mod-data-export-worker increased from 40% to 76%  at the beginning of the tests and slightly grows further PERF-359. All other modules' memory usage was stable.
  • CPU - for 5 parallel jobs - for mod-data-export-worker are spiking up to 155% at the start of tests( in general usage was about 8%). For all other modules did not exceed 40%.  For 100k records jobs, CPU utilization increases only when additional jobs start.
  • For all tests (100, 1k, and 10k -5 concurrent jobs, 100k records - 1job) - RDS CPU utilization did not exceed 50%.

Results

Test Runs

Items App - updating item status

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

1 concurrent jobNolana

"BARCODE". Records number per 1 user

Time to uploadTime to edit - commit changesTotal time
10045 secup to 5 sec50 sec
10001 min 40 sec30 sec2 min 10 sec
10k6 min 10 sec6min 15 sec12 min 25 sec
100k1 hour 2 min1 hour 15 min2 hours 17 min

Tests for 5 concurrent jobs


1 concurrent jobNolana

"BARCODE". Records number per 1 user

Time to uploadTime to edit - commit changesTotal time
10046 sec3 sec49 sec
10001 min 45 sec40 sec2 min 25 sec
10k6 min 10 sec6min 30 sec12 min 25 sec

Memory usage 5 concurrent jobs

mod-data-export-worker memory usage increased from 40% to 76%  at the beginning of the tests and slightly grows further PERF-328 - Getting issue details... STATUS . All other modules' memory usage was stable.


Memory usage 100k records job

CPU utilization 5 concurrent jobs

      CPU - Spike in CPU usage of mod-data-export-worker to 155% at the beginning of the tests. For all other modules did not exceed 40%.

CPU utilization 100k records job

RDS CPU utilization

For all jobs with records number 100, 1k, and 10k, of 5 concurrent jobs, 100k-1 concurrent job - RDS CPU utilization did not exceed 50%.