Bulk Edit Users App report [Nolana] 26/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


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

mod-data-export-worker221024307226005122048 (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-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 users-app functionality 2022-10-26. 

  • 10k records per user, 5 users simultaneously (50k records total) can be uploaded in about 2 min 25 seconds, edited files uploaded in up to 15 seconds, and edited in 4 min 50 seconds (about 7 min 30 total).
  • The files with identifiers should be strictly determined.
  • The memory of all modules during the tests for 2500 records with 5 parallel was stable. During the tests for 5000 (5 parallel) and 10 000 records (5 parallel) jobs, mod-data-export-worker memory increased by 1% at the start of the 10k test and was about 66,5% all the time. All other modules' memory usage was stable.
  • CPU - 2500 records per user for 5 parallel jobs -CPU of mod-users was 199%, for all other modules did not exceed 15%. 5000 or 10k  records per user for 5 parallel jobs -CPU of mod-users was 174%, and for all other modules did not exceed 23%.
  • RDS CPU utilization did not exceed 36% for 5jobs 2500 records and 49% for 5jobs  5k or 10k records.

Results

Test Runs

Users App - updating user status

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

5 virtual usersNolanaMorning Glory

"BARCODE" Records number per 1 user

Time to uploadTime of POST /bulk-edit/${jobId}/uploadTime to edit - commit changesTotal timeTime to upload

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

Time to edit - commit changesTotal time
2500 40sec6 sec1 min 23 sec2 min 9 sec34-39 secup to 10 minutes (depending on the number of records that should not be updated)1 min 5 sec1 min 55 sec
50001min 12 sec10 sec2 min 25 sec3 min 47 sec1 min 12 sec

35 sec if all records will be updated MODEXPW-255 - Getting issue details... STATUS

1min 50 sec3 min 30 sec
10k2 min 25 secup to 15 sec4 min 50 sec7 min 30 sec2min 15 sec2 min if all records will be updated3 min 58 sec8 min

Memory usage

The memory of all modules during the tests for 2500 records and 5 parallel jobs was stable all the time.


During the tests for 5000 (5 parallel) and 10 000 records (5 parallel) jobs, mod-data-export-worker memory increased by 1% at the start of the 10k test and was about 66,5% all the time. All other modules' memory usage was stable.

CPU utilization

      CPU - 2500 records per user for 5 parallel jobs -CPU of mod-users was 199%, for all other modules did not exceed 15%.


5000 & 10k  records per user for 5 parallel jobs -CPU of mod-users was 174%, and for all other modules did not exceed 23%.

RDS CPU utilization

2500 records - RDS CPU utilization did not exceed 36%

5000 & 10k records - RDS CPU utilization did not exceed 49%