Versions Compared

Key

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

IN PROGRESS

Table of Contents
Overview

This document contains the results of testing Check-in/Check-out and Data Import with file splitting feature for MARC Bibliographic records in the Poppy release.

Ticket: 

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-756

Summary

There is significant performance improvement for data import in Poppy with file splitting feature compared with Orchid but small degradation compared to Poppy without file splitting feature. CI/CO response times almost the same compared to Poppy without file splitting feature.

Average CPU utilization did not exceed 150% for all the modules. The highest consumption observed from mod-inventory It was growing from 110% up to 250% at the end of the test (So as memory grows too we can suspect issue

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-944
).Spikes of  mod-data-import observed in Data Import jobs with 50k files up to 130%. for jobs  and 250% spike for 100k. For Data Import jobs with 5k, 10k, 25k files CPU utilization didn't exceed 110%

There is memory utilization increasing observed which is caused by previous modules restarting (everyday cluster shut down process). Memory consumption before tests for mod-search was 45% and for mod-inventory - 55%. During test with 100k file mod-search grew up to 90% and mod-inventory up to 100%.

Average DB CPU usage during data import is about 95% The same results if to compare with the same tests in Orchid.

Average connection count during data import is about 600 connections for create jobs that is two times higher than without file splitting feature. For update jobs - 560 connections

Test Runs 

...

Test #

...

Scenario

...

Test Results

Data import

Total time for all Data Export jobs - 1 hour 16 minutes 47 seconds.

...

Poppy with file splitting feature (hh:mm:ss)

...

Check In, Check Out Response time (8 users)

Poppy

...

1.111

...

Check-in/Check-out without DI

...

Comparison

CICO with DI comparison

...

1.111

...

The following table compares test results of current release (Orchid) to the previous release numbers (Orchid) and to the baselines Poppy results (CICO without DI and DI without CICO).

* Orchid DI and CICO results are taken from Data Import with Check-ins Check-outs Orchid.

*** Completed with errors

Detailed CICO response time comparison

...

Response time

DI MARC BIB Create + CICO

Image Removed

DI Bib Update + CICO

Image Removed

Service CPU Utilization

Average CPU utilization did not exceed 150% for all the modules. The highest consumption observed from mod-inventory It was growing from 110% up to 250% at the end of the test (So as memory grows too we can suspect issue

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-944
)

Spikes of  mod-data-import observed in Data Import jobs with 50k files up to 130%. for jobs  and 250% spike for 100k. For Data Import jobs with 5k, 10k, 25k files CPU utilization didn't exceed 110%

Image Removed

Service Memory Utilization

There is memory utilization increasing observed which is caused by previous modules restarting (everyday cluster shut down process).

Memory consumption before tests for mod-search was 45% and for mod-inventory - 55%. During test with 100k file mod-search grew up to 90% and mod-inventory up to 100%.

Image Removed

...

Average DB CPU usage during data import is about 95% The same results if to compare with the same tests in Orchid.

Image Removed

DB Connections

Average connection count during data import is about 600 connections for create jobs that is two times higher than without file splitting feature. For update jobs - 560 connections

Image Removed

DB load

Top SQL-queries:

INSERT INTO fs09000000_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)

UPDATE fs09000000_mod_source_record_manager.job_execution_progress SET succeeded_records_count = succeeded_records_count + $2, error_records_count = error_records_count + $3 WHERE job_execution_id = $1 Returning *

INSERT INTO fs09000000_mod_source_record_manager.journal_records (id, job_execution_id, source_id, source_record_order, entity_type, entity_id, entity_hrid, action_type, action_status, error, action_date, title, instance_id, holdings_id, order_id, permanent_location_id, tenant_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)

MARC BIB Update + CICO

Top SQL-queries:

INSERT INTO fs09000000_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)

INSERT INTO fs09000000_mod_source_record_manager.journal_records (id, job_execution_id, source_id, source_record_order, entity_type, entity_id, entity_hrid, action_type, action_status, error, action_date, title, instance_id, holdings_id, order_id, permanent_location_id, tenant_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)

...

IN PROGRESS

Table of Contents
Overview

This document contains the results of testing Check-in/Check-out and Data Import with file splitting feature for MARC Bibliographic records in the Poppy release.



Ticket: 

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-756



Summary

There is significant performance improvement for data import in Poppy with file splitting feature compared with Orchid but small degradation compared to Poppy without file splitting feature. CI/CO response times are almost the same as Poppy without file splitting feature.

Average CPU utilization did not exceed 150% for all the modules. The highest consumption was observed from mod-inventory. It was growing from 110% up to 250% at the end of the test (So as memory grows too, we can suspect the issue

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-944
).Spikes of mod-data-import were observed in Data Import jobs with 50k files up to 130%. for jobs and a 250% spike for 100k. For Data Import jobs CPU utilization didn't exceed 110% for all other modules

Memory utilization increase is a result of previous modules restarting (everyday cluster shutdown process). Memory consumption before tests for mod-search was 45% and for mod-inventory - 55%. During the test with 100k files mod-search memory utilization increases to 90% and mod-inventory up to 100%.

Average DB CPU usage during data import is about 95% The same results compared to the same tests in Orchid.

Average connection count during data import is about 600 connections for Create jobs which is two times higher than without file splitting feature. For Update jobs - 560 connections

Test Runs 

Test #

Scenario

Load levelComment
1DI MARC Bib Create5K, 10K, 25K, 50K, 100K consequentially (with 5 min pause)
CICO 8 users
2DI MARC Bib Update5K, 10K, 25K, 50K, 100K consequentially (with 5 min pause)
CICO 8 users

Test Results

Data import

Total time for all Data Export jobs - 1 hour 16 minutes 47 seconds.

Profile
MARC File


DI Duration

Poppy with file splitting feature (hh:mm:ss)

Check In, Check Out Response time (8 users)

Poppy

CI Average secCO Average sec
DI MARC Bib Create (PTF - Create 2)5K.mrc00:02:47

1.111

1.432
10K.mrc00:05:261.2611.556
25K.mrc00:14:311.4411.532
50K.mrc00:24:131.4321.478
100K.mrc00:49:351.3581.621
DI MARC Bib Update (PTF - Updates Success - 1)5K.mrc00:03:390.8701.201
10K.mrc00:06:460.8851.216
25K.mrc00:17:040.9491.266
50K.mrc00:34:231.0831.264
100K.mrc01:14:301.0241.383

Check-in/Check-out without DI

ScenarioLoad levelRequestResponse time, sec
Poppy with file splitting feature
95 percaverage
Circulation Check-in/Check-out (without Data Import)8 usersCheck-in0.7240.610
Check-out0.9990.872

Comparison

CICO with DI comparison

ProfileMARC FileDI DurationDeviation, %Check In, Check Out Response time (8 users)Check In, Check Out Response time (8 users)Delta, %

without CI/COwith CI/COPoppy with file splitting featureOrchidPoppyPoppy with file splitting featurePoppy/Poppy with file splitting featurePoppy/Poppy with file splitting feature
Orchid*PoppyPoppy with file splitting featureOrchid*PoppyPoppy with file splitting feature compared DI without CICO and with CICODi with CICO compared to without splitting featureCI Average secCO Average secCI Average secCO Average secCI Average secCO Average secCICO
DI MARC Bib Create (PTF - Create 2)5K.mrc00:04:3000:02:39
00:05:0100:02:5300:02:47
 - 00:00:060.9611.4420.9011.375

1.111

1.432

10K.mrc00:09:2500:05:00
00:09:0600:04:3200:05:26
+ 00:00:461.0581.6240.9021.471.2611.556

25K.mrc00:22:1600:11:1500:12:1400:24:2800:11:1400:14:31+ 00:02:16+ 00:03:171.0561.62111.5711.4411.532

50K.mrc00:39:2700:22:1600:22:4900:43:0300:21:5500:24:13+ 00:01:24+ 00:02:180.9361.5190.9811.461.4321.478

100K.mrc01:38:0000:49:5800:47:5201:35:5000:47:0200:49:35+ 00:01:47+ 00:02:330.8681.4681.0181.4911.3581.621

DI MARC Bib Update (PTF - Updates Success - 1)5K.mrc00:04:0200:02:2800:03:1700:04:5200:03:1900:03:39+ 00:00:22+ 00:00:200.8551.3390.7551.1690.8701.201

10K.mrc00:08:1000:05:3100:06:3200:09:2200:06:2000:06:46+ 00:00:14+ 00:00:260.9161.3980.751.3070.8851.216

25K.mrc00:19:3900:14:5000:16:0500:24:0200:14:0400:17:04+ 00:00:59+ 00:03:000.9221.4250.8221.4030.9491.266

50K.mrc00:38:3000:32:5300:32:4300:47:1300:29:5900:34:23+ 00:01:40+ 00:04:240.9041.4560.8931.4241.0831.264

100K.mrc01:33:0001:14:39
01:40:2501:03:0301:14:30
+ 00:11:270.8381.4150.9081.511.0241.383

* Orchid and Poppy DI and CICO results are taken from Data Import with Check-ins Check-outs (Poppy).


Detailed CICO response time comparison

ScenarioLoad levelRequestResponse time, sec
Orchid
Response time, sec
Poppy
Response time, sec
Poppy with file splitting feature
95 percaverage95 percaverage95 percaverage
Circulation Check-in/Check-out (without Data import)8 usersCheck-in0.4890.3940.4890.4310.7240.610
Check-out0.7930.7240.9690.8280.9990.872


Response time

DI MARC BIB Create + CICO

Image Added

DI Bib Update + CICO

Image Added

Service CPU Utilization

Average CPU utilization did not exceed 150% for all the modules. The highest consumption observed from mod-inventory It was growing from 110% up to 250% at the end of the test (So as memory grows too we can suspect issue

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-944
)


Spikes of  mod-data-import observed in Data Import jobs with 50k files up to 130%. for jobs  and 250% spike for 100k. For Data Import jobs with 5k, 10k, 25k files CPU utilization didn't exceed 110%


Image Added

Service Memory Utilization

There is memory utilization increasing observed which is caused by previous modules restarting (everyday cluster shut down process).

Memory consumption before tests for mod-search was 45% and for mod-inventory - 55%. During test with 100k file mod-search grew up to 90% and mod-inventory up to 100%.

Image Added



DB CPU Utilization

Average DB CPU usage during data import is about 95% The same results if to compare with the same tests in Orchid.

Image Added



DB Connections

Average connection count during data import is about 600 connections for create jobs that is two times higher than without file splitting feature. For update jobs - 560 connections

Image Added

DB load

Image Added

Appendix

Infrastructure

PTF -environment pcp1

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 2 database  instances, writer/reader


    NameMemory GIBvCPUsmax_connections

    db.r6g.xlarge

    32 GiB4 vCPUs2731


  • MSK tenant
    • 4 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

...

 * - The newest version was used in this test to compare with the previous test

Methodology/Approach

...

Grafana dashboard:

MARC Bib Create + CICO

http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nkelIt9zCnz/jmeter-performance-checkwith-inaverage-check-outlatency?orgId=1&from=17007380306291710754980359&to=17007493134281710762891120&var-percentile=95&var-test_type=baselinefix_load&var-test=circulation_checkInCheckOut_Poppy_3orchid&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&var-Request=All

MARC Bib Update + CICO

http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nkelIt9zCnz/jmeter-performance-checkwith-inaverage-check-outlatency?orgId=1&from=17007552390001710766047451&to=17007667590001710775415290&var-percentile=95&var-test_type=baselinefix_load&var-test=circulation_checkInCheckOut_Poppy_3orchid&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&var-Request=All