Table of Contents | ||
---|---|---|
|
...
- 8 million inventory records
- 74 FOLIO back-end modules deployed in 144 ECS services
- 3 okapi ECS services
- 12 m5.large EC2 instances
- 1 writer db.r6g.xlarge 1 reader db.r6g.xlarge AWS RDS instance
- INFO logging level / WARN looging logging level
- mod-data-export Soft memory limit - 360 MB Hard memory limit - 512 MB
High-Level Summary
- With WARN level logging, seeing 9% improvement in memory utilization
- With WARN level logging, 70% improvement in CPU utilization
- With WARN level logging, No bumps in the memory were observed. Memory utilization stays stable for multiple Data Export job runs.
- Improvement by 42Million records for WARN. 42 Million fewer records were written.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 - INFO level logging vs WARN level logging
Test | Total instances | Duration | mod-data-export log level | Duration (Total time to complete exporting all instances, holdings, and items) | Total records logged in CloudWatch |
1. | 100,000 | INFO | 1 hour 6 minutesINFO | 2.97 minutes | 42.5 Million |
2. | 100,000 | 57 minutes | WARN | 18 57 minutes | 120K |
Total records logged for 100K, INFO vs WARN
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
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.
For mod-data-export, 70% improvement in CPU utilization for WARN level logging
INFO level logging
mod-data-export WARN level logging
Service Memory Utilization
Memory increases gradually as we start running tests especially for mod-data-export and then stabilizes. For all other modules such as mod-source-record-storage, the okapi remains constant between 80% - 100%.
Check how many jobs can run in parallel
...