Skip to end of banner
Go to start of banner

Bulk Edit Users App report [Orchid] 12/09/2023

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Overview

Bulk Edits - Establish a performance baseline for combined bulk updates PERF-480 in the Orchid release that has architectural changes that were implemented in UXPROD-3842. The goal is to make sure that bulk edits can be performed simultaneously. 

  • How long does it take to export 100, 1000, 2500, 5000 records?
  • Use it for up to 5 concurrent users.  
  • Look for a memory trend and CPU usage

Summary.

Test report for Bulk Edits users-app functionality 2023-09-15. 

  • 5k records per user, 5 users simultaneously (25k records total) can be uploaded in about 6 min 13 seconds, 
  • The files with identifiers should be strictly determined.
  • The memory of all modules during the tests for 5000 records with 5 parallel was stable, the memory gap in Figure 1 was caused by restarting several modules before DI job run. 
  • Instance CPU usage 
    • maximal value for text 4VU (0.1-1-2.5k-5k) was 26%
    • maximal value for text 5VU (0.1-1-2.5k-5k) was 27%
  • Service CPU usage for test 5VU (0.1-1-2.5k-5k) 
    • CPU of mod-bulk-operations 126%, for all other modules, did not exceed 22%. 
  • RDS CPU utilization did not exceed 43% for 5jobs 5000 records and 34% for 4jobs  5k.


Recommendations & Jiras

For further testing Users' bulk editing can be performed with 10k records


Test Runs

Total processing time of upload and edit - commit changes. Units =minutes:seconds

Number of virtual user/ Records1VU2VU3VU4VU5VU
100 records00:01:05

00:01:03

00:01:03

00:01:03
00:01:03
00:01:05
00:01:03
00:01:03
00:01:03
00:01:04
00:01:04
00:01:04.
00:01:04
00:01:04
00:01:04
1000 records00:01:3700:01:59
00:01:35
00:02:02
00:02:05
00:01:36
00:02:02
00:02:02
00:01:59
00:02:00
00:02:11
00:02:13
00:02:13
00:02:05
00:02:06
2500 records00:03:2800:03:30
00:03:31
00:03:42
00:03:42
00:01:10(*1)
00:00:23(*2)
00:03:47
00:03:46
00:03:46
00:03:48
00:04:03
00:03:44
00:04:04
00:04:04
5000 records00:05:13

00:06:36
00:06:38

(*3)

00:06:48
00:06:50
00:06:50
(*3)
00:06:32
00:06:32
00:02:29.
00:02:29 
(*3)
00:06:13
00:06:13
00:06:11
00:06:08
00:06:13
(*3)

(*1) Duplicate barcodes in CSV input data, 1200 out of 2500 records were processed

(*2) Index 546 out of bounds for length 13 (ArrayIndexOutOfBoundsException) MODEXPW-306 - Getting issue details... STATUS

(*3) Was running as a separate test to avoid duplication of input data

Comparison with previous results

5VU,
Records
Nolana  

Orchid
2500 2 min 9 sec4 minutes 4 seconds
5000 records3 min 47 sec6minutes 13
seconds

Memory usage

The time range marked with # Several modules were restarted and then data import jobs were running on the environment 

Memory usage during the testing with 1-5 concurrent and  100-1000-2500-5000 records

Memory usage during the testing with 2-5 concurrent and 5000 records

Memory usage for the same time range as the figure below, but only involved services were selected.

Instance CPU utilization

CPU instance utilization for 1 up to 5 Vu with 100-1000-2500-5000 records

 The test 5VU(0.1-1-2.5k-5k) was restarted because there were in the input data(Barcodes duplication)

CPU instance utilization for 2 up to 5 Vu with 5000 records

Service CPU utilization

CPU instance utilization for 1 up to 5 Vu with 100-1000-2500-5000 records

CPU instance utilization for 1 up to 5 Vu with 100-1000-2500-5000 records

RDS CPU utilization

For all tests - RDS CPU utilization exceeds 40% (for tests with 5k user records). For the tests with 2500 user records did not exceed 27%.

Database connections

Errors in logs during testing

(*1) Duplicate barcodes in CSV input data, 1200 out of 2500 records were processed

(*2) Index 546 out of bounds for length 13 (ArrayIndexOutOfBoundsException) MODEXPW-306 - Getting issue details... STATUS

Appendix

Infrastructure

PTF -environment ncp5 [ environment name] 

  • 8 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 [Number of ECS instances, instance type, location region]
  • 2 instances of db.r6.xlarge database instances: Writer & reader instances
  • MSK ptf-kakfa-3 [ kafka configurations]
    • 4 kafka.m5.2xlarge brokers in 2 zones
    • Apache Kafka version 2.8.0

    • EBS storage volume per broker 300 GiB

    • auto.create.topics.enable=true
    • log.retention.minutes=480
    • default.replication.factor=3


Modules memory and CPU parameters:

Module

Task Def. Revision

Module Version

Task Count

Mem Hard Limit

Mem Soft limit

CPU units

Xmx

MetaspaceSize

MaxMetaspaceSize

ncp5-pvt

Wed Sep

13 09:54:48 UTC 2023

mod-agreements6579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-agreements:5.5.2215921488128968384512
mod-bulk-operations17579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-bulk-operations:1.0.623072260010241536384512
mod-users-bl8579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-users-bl:7.5.021440115251292288128
mod-inventory-storage12579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory-storage:26.0.024096369020483076384512
mod-data-export-worker10579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-worker:3.0.1313072280010242048384512
mod-inventory12579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory:20.0.622880259210241814384512
nginx-okapi7579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginx-okapi:2023.06.1421024896128000
okapi-b8579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/okapi:5.0.13168414401024922384512
mod-notes6579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-notes:5.0.121024896128952384512
mod-data-export-spring8579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-spring:2.0.21204818442561536384512
  • No labels