Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue

Overview

  1. In this workflow, we are checking These tests are run to investigate the performance of exporting MARC Bib records workflow (default profile - does not involve items and holdings) running in the Honeysuckle release - difference of mod-data-export with logLevel=info vs logLevel=warn for Juniper release. This testing was part of
    Jira Legacy
    serverSystem Jira
    columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyPERFMDEXP-134

...

  1. 394
    where we observed that mod-data-export is continuously writing a lot of data to log. For 100K DE job, mod-data-export is writing 42Million records. This could also result in a crash if there is not enough CPU, memory allocated to mod-data-export.

Image Added

      2. Check how many jobs can run in parallel -

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-142
so data-export does not break


Backend:

  • mod-data-export-34.0.31.1 (snapshot version)
  • mod-source-record-storage-45.1.24
  • mod-source-record-manager-23.41.23
  • okapi-4.28.2
  • mod-authtoken-2.68.0

Frontend:

  • folio_data-export-34.1.0.1

Environment:

  • 7.2 million UChi SRS records
  • 7.2 8 million inventory records
  • 63 74 FOLIO back-end modules deployed in 110 144 ECS services
  • 3 okapi ECS services
  • 10 12 m5.large  EC2 instances
  • writer db.r5r6g.xlarge 1 reader db.r5r6g.xlarge AWS RDS instance
  • INFO logging level / WARN looging level

High-Level Summary

  1. As the number of instances to export increases from 1 - 500,000 for 1, 2 users, performance improves. For all cases, mod-data-export, mod-source-record-storage is stable and performant.With WARN level logging, seeing 9% improvement in memory utilization
  2. data-export/job-executions API is polled every 3 seconds vs 5 seconds in Goldenrod. This means there are more requests overall but it also improves data-export execution. Data-export job completes faster(around 2 seconds) compared to the previous release. Other than that, data-export is stable and see performance improvements compared to the Goldenrod release.
  3. A new feature added for data-export is it will kill failed job every 6 hours
  4. How many data-export jobs can run in parallel? Multiple jobs can run in parallel and 2.75 Million instance records can be exported at any given point in time. If we try to export more than that for example 3 Million instance records, mod-data-export crashes with OOM(Out Of Memory)

Test Runs

1 user , 2 users, and comparison with Goldenrod release- INFO level logging vs WARN level logging

Test

Total instances

Duration

OKAPI mod-data-export log level

1 User - Avg Total time to Export instances - Ramp-up 0 seconds2 Users - Avg Total time to Export instances - Ramp-up 5 seconds

Improvement from Goldenrod (avg percentage) for both 1 and 2 users

1.

1

30 min

INFO

3.18 seconds3.11 seconds63%

2.

5

30 min

INFO

3.18 seconds3.13 seconds58%

3.

100

30 min

INFO

3.19 seconds3.18 seconds52%

4.

10,000

30 min

INFO

20.38 seconds39.79 seconds10%
5.100complete exporting all instances, holdings, and items
1.100,00030 minINFO2.97 minutes9
2.65 minutes9%6.500100,00030 minINFOWARN18 minutes33.5 minutes76%



 Slow API taking more than 100 ms to return for 1 user:

...