Versions Compared

Key

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

Table of Contents
outlinetrue

...

  1. These tests are run to investigate the performance 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
    keyMDEXP-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 Removed

...

  1. .

...


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 breakBackend:

  • mod-data-export-4.1.1 (snapshot version)
  • mod-source-record-storage-5.1.4
  • mod-source-record-manager-3.1.3
  • okapi-4.8.2
  • mod-authtoken-2.8.0

...

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

...

  1. 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 releaseWith WARN level logging, No bumps in the memory were observed. Memory utilization stays stable for multiple Data Export job runs.
  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)

...

1 user - INFO level logging vs WARN level logging

Test

Total instances

Duration

mod-data-export log level

Total time to complete exporting all instances, holdings, and itemsTotal records logged in CloudWatch
1.100,000
30 min

Fast queries involved during data-export job:

SQL queryResponse time (Avg) SELECT jsonb FROM fs09000000_mod_data_export.job_executions WHERE (jsonb->>'id') = '99fbccb3-c9bc-4278-b2e2-af130ef87030'1 millisecondSELECT fs09000000_mod_data_export.count_estimate('SELECT * FROM fs09000000_mod_data_export.job_executions WHERE id=''99fbccb3-c9bc-4278-b2e2-af130ef87030''')2 milliseconds
1 hour 6 minutesINFO2.97 minutes42.5 Million
2.100,00030 minWARN18 minutes

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

...

120K


Total records logged for 100K, INFO vs WARN

INFO - 42.5 Million records

Image Added

WARN - ~120K records

Image Added



CPU Utilization

CPU utilization increase as the number of instances increases from 100 to 500k. CPU reaches maximum for 100k, 500k instances but there is not much difference for 1 user and 2 users.

...