PTF - Data Import Creates + Updates multi tenant [non-ECS]

PTF - Data Import Creates + Updates multi tenant [non-ECS]

Overview

This document contains the results of testing concurrent Data Import with file splitting feature for MARC Bibliographic records in the Quesnelia release.

The purpose for this test is to define how concurrent DI affect duration of DI jobs on the central tenant and to check possible issues during smoke test with 50k DI Create job running concurrently on all 3 tenants.

Compared with Data Import Creates + Updates Poppy pcp1



Ticket: PERF-837: [Quesnelia] [non-ECS] [Data Import] Creates + Updates of MARC BIB with MultiTenantsClosed

Summary

  • Data Import duration of 10k and 25k jobs multiplies in correspondence with number of concurrent DI jobs. Duration doubles with 2 concurrent jobs (1 job for each tenant) and 3 times longer for 3 concurrent jobs. This trend is consistent across tenants. The same as in Poppy.

  • Running smoke test 50k file with DI create job revealed issue with module mod-permission which spiked and led to 4 split jobs got SNAPSHOT_UPDATE_ERROR at the beginning of the test on third fs07000002 tenant. No error messages in UI. Reason - No action.

  • Average CPU utilization was for top two modules during DI Create jobs in mod-inventory-b - 121%, mod-quick-marc-b - 92%, Update jobs mod-inventory-b - 150%, mod-quick-marc-b - 92%. Modules used less resources in quesnelia. More information can be found in Service CPU Utilization tab.

  • Memory consumption: mod-inventory-b - 87%, mod-data-import-b - 80%, mod-source-record-storage-b - 73%, mod-permissions-b - 71% which is slightly less than in Poppy

  • RDS CPU utilization was 88% for all jobs that is 10% less than in Poppy

  • Create jobs DB connections for 2 tenants  - 990, for 3 tenants - 1100, Update jobs DB connections for 2 tenants  - 950, for 3 tenants - 1000

  • Top long query was SELECT jsonb FROM fs07000002_mod_permissions.permissions - rows 4275 rows/sec, average latency 1579 ms/call

Test Runs 

Test #

Scenario

Load level

Test #

Scenario

Load level

1 - Concurrent Create imports

DI MARC Bib Create

10K, 25K concurrently (with 5 min pause) on 2 and 3 tenants

2 - Concurrent Update imports

DI MARC Bib Update

10K, 25K concurrently (with 5 min pause) on 2 and 3 tenants

3 - Concurrent Create imports ("smoke test") of 50K 

DI MARC Bib Create

50k concurrently on 3 tenants 

Test Results

Duration of DI jobs grow proportionally to file size.

Smoke Test finished successfully for 3 concurrent DI Create jobs of 50K each.

DI Create

# of test

Number of concurrent jobs

Main tenant

(fs09000000)

Second tenant

(fs07000001)

Third tenant

(fs07000002)

DI Create

# of test

Number of concurrent jobs

Main tenant

(fs09000000)

Second tenant

(fs07000001)

Third tenant

(fs07000002)

10k

Baseline

1

00:05:01

00:05:01

00:05:00



1

2

00:09:04

00:09:08





2

3

00:14:25

00:15:12

00:15:22

25k

Baseline

1

00:10:43

00:11:15

00:11:22



3

2

00:22:44

00:22:47





4

3

00:40:32

00:40:17

00:40:25

DI Update











10k

Baseline

1

00:06:25







5

2

00:14:08

00:13:44





6

3

00:20:13

00:21:03

00:20:41

25k

Baseline

1

00:15:17







7

2

00:35:27

00:35:34





8

3

00:58:49

00:58:59

00:59:05

DI Create (Smoke test)











50K

9

1

22:44.2







10

3

01:21:37

01:22:49

01:22:49

Comparison

QUESNELIA

POPPY

COMPARISON Quesnelia/Poppy

QUESNELIA

POPPY

COMPARISON Quesnelia/Poppy

DI Create

# of test

Number of concurrent jobs

Central tenant

Second tenant

Third tenant

DI Create

Number of concurrent jobs

Central tenant

Second tenant

Third tenant

Delta fs09000000

Delta fs07000001

Delta fs07000002

10k

Baseline

1

00:05:01

00:05:01

00:05:00

10k

1

00:04:56





00:00:05







1

2

00:09:04

00:09:08





2

00:10:43

00:10:37



00:01:39

00:01:29





2

3

00:14:25

00:15:12

00:15:22



3

00:21:12

00:21:06

00:20:57

00:06:47

00:05:54

00:05:35

25k

Baseline

1

00:10:43

00:11:15

00:11:22

25k

1

00:11:24





00:00:41







3

2

00:22:44

00:22:47





2

00:23:44

00:23:30



00:01:00

00:00:43





4

3

00:40:32

00:40:17

00:40:25



3

00:37:11

00:37:05

00:36:58

00:03:21

00:03:12

00:03:27

DI Update

# of test

Number of concurrent jobs

Central tenant

Second tenant

Third tenant

DI Update

Number of concurrent jobs

Central tenant

Second tenant

Third tenant

Delta fs09000000

Delta fs07000001

Delta fs07000002

10k

Baseline

1

00:06:25





10k

1

00:06:32





00:00:07







5

2

00:14:08

00:13:44





2

00:09:47

00:11:26



00:04:21

00:02:18





6

3

00:20:13

00:21:03

00:20:41



3

00:19:08

00:19:06

00:18:31

00:01:05

00:01:57

00:02:10

25k

Baseline

1

00:15:17





25k

1

00:15:13





00:00:04







7

2

00:35:27

00:35:34





2

00:30:49

00:30:52



00:04:38

00:04:42