Versions Compared

Key

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

Table of Contents
outlinetrue

Overview

  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.
  2. In mod-data-export log4j2.properties file was modified with rootLogger.level = warn, logger.netty.level = warn, status = warn

...

  • 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 logging level
  • mod-data-export Soft memory limit - 360 MB Hard memory limit - 512 MB
  • CPU - 128

High-Level Summary

  1. With WARN level logging, 9% improvement in memory utilization
  2. With WARN level logging, 70% improvement in CPU utilization
  3. With WARN level logging, No bumps in the memory were observed. Memory utilization stays stable for multiple Data Export job runs.
  4. Improvement by 42Million records for WARN. 42 Million fewer records were written
  5. With WARN level logging, there is improvement in JVM's Garbage collection

Test Runs

1 user - INFO level logging vs WARN level logging

...

INFO - ~42.5 Million records

WARN - ~120K records


Service Memory Utilization

For mod-data-export, 9% improvement in memory for WARN level logging

Memory Utilization INFO vs WARN

CPU Utilization

For mod-data-export, 70% improvement in CPU utilization for WARN level logging

INFO level logging

WARN level logging


Heap dump analysis using JXRay

4.6% improvement in Garbage collection with WARN level logging. That means, mod-data-export is generating less Unreachable garbage objects. WARN level logging is effectively utilization 12 MB of JVM memory. While with INFO level logging, this 12 MB is wasted. This is only for 100K run. As we run the Data Export job continuously, this 12MB could be much larger.

...