Versions Compared

Key

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

...

This document contains the results of the testing Data Import (batch imports) on 62 tenants with the following scenarios onthe MCPT cluster

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

...

Summary

  1. The average duration of single record imports where 50% of them doing Create and 50% doing Update of single records.

  2. Central tenant performs a large update batch import with 10K MARC BIB records; 100% Member tenants does single record imports where 50% ofthem doing Create and 50% doing Update of single records.

Summary

  1. The average duration of single record imports (50% create, 50% update) during :

...

  1. on 61 member tenants (50% member tenants create, 50% member tenants update) during :

  • DI_T1(CT-2k_MT-SRI-50/50). was 1,2 second for Create profile and 1 second for Update;

  • DI_T2(CT-10k_MT-SRI-50/50). was 1,5 second for Create profile and 1,2 second for Update;

  1. All Data-import finished with the status “Completed“

  2. Most CPU consuming services were mod-consortia-b , mod-quick-marc-b, mod-inventory-b, mod-di-converter-storage-b, mod-source-record-storage-b, mod-inventory-storage-b, okapi-b, mod-source-record-manager-b it`s their values are in Service CPU Utilization section

  3. During 2 tests few services showed changes in memory utilization: mod-data-import-b, mod-search-b, mod-inventory-b, mod-source-record-manager-b, mod-inventory-storage-b,mod-source-record-storage-b its values are in Service Memory Utilization section. No memory leaks.no memory leaks.

  4. DB CPU usage during DI_T1(CT-2k_MT-SRI-50/50) has increased up to 80% and during DI_T2(CT-10k_MT-SRI-50/50) increased up to 95%.

...

Add more CPU for 4 first services that have high CPU(>100%) utilization mod-consortia-b, mod-quick-marc-b, mod-inventory-b, mod-di-converter-storage-b

Test

...

Runs

  1. DI_T1(CT-2k_MT-SRI-50/50).

...

Tenant

Duration

DI_Importing MARC 2K records

1 minute

SDIU_(Update) cs00000001_0022

12275.0

SDIU_(Update) cs00000001_0016

13087.0

SDIU_(Update) cs00000001_0013

13900.0

SDIU_(Update) cs00000001_0010

13340.0

SDIU_(Update) cs00000001_0008

10973.0

SDIU_(Update) cs00000001_0006

11200.0

SDIU_(Update) cs00000001_0005

10832.0

SDIU_(Update) cs00000001_0002

11448.0

SDIC_(Create) cs00000001_0021

12036.0

SDIC_(Create) cs00000001_0020

11906.0

SDIC_(Create) cs00000001_0019

11090.0

SDIC_(Create) cs00000001_0018

12009.0

SDIC_(Create) cs00000001_0017

12395.0

SDIC_(Create) cs00000001_0015

12139.0

SDIC_(Create) cs00000001_0014

12710.0

SDIC_(Create) cs00000001_0012

12025.0

SDIC_(Create) cs00000001_0011

12063.0

SDIC_(Create) cs00000001_0009

10323.0

SDIC_(Create) cs00000001_0007

5057.0

SDIC_(Create) cs00000001_0004

5398.0

SDIC_(Create) cs00000001_0003

5854.0

The table below contains metrics for single record Data-import with “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance” profiles.

Metrics

Inventory Single Record - Default Update Instance

Inventory Single Record - Default Create Instance

Avarage

1,2 second

1,0 second

Max 

1,4 second

1,4 second

Min

1 second

500 ms

75 th percentile

1,3 second

1,2 second

90 th percentile

1,35 second

1, 3 second

Dependency graph illustrating the change in data import duration across tenants for two profiles “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance

...

DI_T2(CT-10k_MT-SRI-50/50). This section contains durations for Data-import for jobs with “PTF-Create-3” on Central tenant: with 10K records and single record imports on 62 member tenants (50% with “Inventory Single Record - Default Update Instance“ profile, 50% with “Inventory Single Record - Default Create Instance“ profile).

...

Tenant

...

Duration

...

DI_Importing MARC records workflow Transaction

...

  1. Central tenant(CT) performs a large update batch import with 2K MARC BIB records; 30% Member tenants(MT) does single record imports(SRI) where 50% of them doing Create and 50% doing Update of single records.

  2. DI_T2(CT-10k_MT-SRI-50/50). Central tenant(CT) performs a large update batch import with 10K MARC BIB records; 100% Member tenants(MT) does single record imports(SRI) where 50% of them doing Create and 50% doing Update of single records.

Test Results

DI_T1(CT-2k_MT-SRI-50/50). The table below contains metrics for single record Data-import with “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance” profiles. More information on the duration of the DI on each tenant can be found in the section Appendix.

Metrics

Inventory Single Record - Default Update Instance

Inventory Single Record - Default Create Instance

Average

1,2 second

1,0 second

Max 

1,4 second

1,4 second

Min

1 second

500 ms

75th percentile

1,3 second

1,2 second

90th percentile

1,35 second

1, 3 second

Dependency graph illustrating the change in data import duration across tenants for two profiles “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance”. As we can see from the graph, Data-import took less time for the first few tenants. This is probably because they were the first ones to start, followed by the others.

...

DI_T2(CT-10k_MT-SRI-50/50). The table below contains metrics for single record Data-import with “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance” profiles.

Metrics

Inventory Single Record - Default Update Instance

Inventory Single Record - Default Create Instance

Average

1,2 second

1,5 second

Max 

1,65 second

1,8 second

Min

4,1 second

1 second

75th percentile

1,6 second

1,67 second

90th percentile

1,6 second

1,71 second

Dependency graph illustrating the change in data import duration across tenants for two profiles “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance”. As we can see from the graph, DI took less time for the first few tenants. This is probably because they were the first ones to start the data import process, followed by the others, like on the previous tests.

...

Resource utilization

This section presents a comprehensive collection of key graphs and metrics for understanding system performance during tests. This area serves as a portal for visualizing and decoding how the various resources have been used and impacted during different stages of performance testing.

Service CPU Utilization

Service 

DI_T1(CT-2k_MT-SRI-50/50)

DI_T2(CT-10k_MT-SRI-50/50)

mod-consortia-b

179%

189%

mod-quick-marc-b

152%

80%

mod-inventory-b

99%

73%

mod-di-converter-storage-b

95%

105%

mod-source-record-storage-b

49%

48%

mod-inventory-storage-b

36%

32%

okapi-b

28%

37%

mod-source-record-manager-b

26%

29%

...

Memory Utilization

During testing, the memory usage increases only on the services that are in the table below, also Memory usage values before test 1 and test2 and after the tests are in the corresponding columns

Service 

MU before the T1, T2

MU after the T1, T2

mod-data-import-b

36

50

mod-search-b

24

31

mod-inventory-b

15

28

mod-source-record-manager-b

14

22

mod-inventory-storage-b

13

23

mod-source-record-storage-b

12

16

...

DB CPU Utilization

CPU usage before tets was about 3%, during DI_T1(CT-2k_MT-SRI-50/50) CPU usage increased up to 80% and during DI_T2(CT-10k_MT-SRI-50/50) CPU usage increased up to 95%.

...

DB Connections

The number of DB connections before the tests were about 750 during DI_T1(CT-2k_MT-SRI-50/50) maximal number was about 1750 and during DI_T2(CT-10k_MT-SRI-50/50) maximal number was about 2300.

...

DB Load

The graph on Database Load provides an illustration of the resource utilization database over a period of time when 2 tests were running. The key SQL queries that were sent are located in the right section of the figure

...

SQL queries

The SQL Queries section provides detailed information about the SQL queries executed on mcpt database. It includes metrics like the number of times each query was executed, the average time taken to execute each query, and the utilization of resources by each query.

...

Methodology/Approach

All tests were run using the JMeter script for single record import, large data import on the central tenant was started manually.

Appendix

DI_T1(CT-2k_MT-SRI-50/50). This section contains durations for Data-import for jobs with “PTF-Create-3” on Central tenant: with 2K records and single record imports on 21 member tenants (50% with “Inventory Single Record - Default Update Instance“ profile, 50% with “Inventory Single Record - Default Create Instance“ profile).

Tenant

Duration

Central Tenant: DI_Import MARC BIB create 2K records

1 minute

SDIU_(Update) cs00000001_0022

12 sec

SDIU_(Update) cs00000001_0016

13 sec

SDIU_(Update) cs00000001_0013

13,9 sec

SDIU_(Update) cs00000001_0010

13,3 sec

SDIU_(Update) cs00000001_0008

11 sec

SDIU_(Update) cs00000001_0006

11 sec

SDIU_(Update) cs00000001_0005

11 sec

SDIU_(Update) cs00000001_0002

11,5 sec

SDIC_(Create) cs00000001_0021

12 sec

SDIC_(Create) cs00000001_0020

12 sec

SDIC_(Create) cs00000001_0019

11 sec

SDIC_(Create) cs00000001_0018

12 sec

SDIC_(Create) cs00000001_0017

12 sec

SDIC_(Create) cs00000001_0015

12 sec

SDIC_(Create) cs00000001_0014

12,7 sec

SDIC_(Create) cs00000001_0012

12 sec

SDIC_(Create) cs00000001_0011

12 sec

SDIC_(Create) cs00000001_0009

10 sec

SDIC_(Create) cs00000001_0007

5 sec

SDIC_(Create) cs00000001_0004

5,3 sec

SDIC_(Create) cs00000001_0003

5,8 sec

DI_T2(CT-10k_MT-SRI-50/50). This section contains durations for Data-import for jobs with “PTF-Create-3” on Central tenant: with 10K records and single record imports on 62 member tenants (50% with “Inventory Single Record - Default Update Instance“ profile, 50% with “Inventory Single Record - Default Create Instance“ profile).

Tenant

Duration

Central Tenant: DI_Importing MARC records workflow Transaction

5 minutes

SDIC_Single Record Import (Create) cs00000001_0002

5 sec

SDIC_Single Record Import (Create) cs00000001_0003

5 sec

SDIC_Single Record Import (Create) cs00000001_0006

5,6 sec

SDIC_Single Record Import (Create) cs00000001_0007

4,2 sec

SDIC_Single Record Import (Create) cs00000001_0008

4,1 sec

SDIC_Single Record Import (Create) cs00000001_0010

10 sec

SDIC_Single Record Import (Create) cs00000001_0012

6 sec

SDIC_Single Record Import (Create) cs00000001_0015

10 sec

SDIC_Single Record Import (Create) cs00000001_0017

11,3 sec

SDIC_Single Record Import (Create) cs00000001_0018

11,6 sec

SDIC_Single Record Import (Create) cs00000001_0021

12 sec

SDIC_Single Record Import (Create) cs00000001_0022

11 sec

SDIC_Single Record Import (Create) cs00000001_0023

16 sec

SDIC_Single Record Import (Create) cs00000001_0024

16 sec

SDIC_Single Record Import (Create) cs00000001_0025

16,5 sec

SDIC_Single Record Import (Create) cs00000001_0026

16,1 sec

SDIC_Single Record Import (Create) cs00000001_0030

15,6 sec

SDIC_Single Record Import (Create) cs00000001_0031

15,7 sec

SDIC_Single Record Import (Create) cs00000001_0032

15,7 sec

SDIC_Single Record Import (Create) cs00000001_0033

15,1 sec

SDIC_Single Record Import (Create) cs00000001_0034

15,5 sec

SDIC_Single Record Import (Create) cs00000001_0036

14,8 sec

SDIC_Single Record Import (Create) cs00000001_

00025163.0

0039

15,6 sec

SDIC_Single Record Import (Create) cs00000001_

00035156.0

0041

15,8 sec

SDIC_Single Record Import (Create) cs00000001_

00065672.0

0047

15,1 sec

SDIC_Single Record Import (Create) cs00000001_

00074240.0

0048

14,9 sec

SDIC_Single Record Import (Create) cs00000001_

00084108.0

0049

15,4 sec

SDIC_Single Record Import (Create) cs00000001_

00109930.0

0052

15,8 sec

SDIC_Single Record Import (Create) cs00000001_

00126010.0

0055

15,3 sec

SDIC_Single Record Import (Create) cs00000001_

001510533.0

0061

15,7 sec

SDIC_Single Record Import (Create) cs00000001_

0017

11315.0

SDIC

0062

15,8 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0018

11665.0

SDIC

0004

11,6 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0021

12022.0

SDIC

0005

10,3 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0022

10825.0

SDIC

0009

11,7 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0023

16624.0

SDIC

0011

11,8 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0024

16185.0

SDIC

0013

11,4 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0025

16557.0

SDIC

0014

11,6 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0026

16172.0

SDIC

0016

12,1 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0030

15672.0

SDIC

0019

11,3 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0031

15733.0

SDIC

0020

12,1 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0032

15748.0

SDIC

0027

16,1 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0033

15163.0

SDIC

0028

16,9 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0034

15585.0

SDIC

0029

17,1 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0036

14865.0

SDIC

0035

16,9 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0039

15693.0

SDIC

0037

16,5 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0041

15893.0

SDIC

0038

16 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0047

15149.0

SDIC

0040

18 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0048

14920.0

SDIC

0042

16,8 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0049

15412.0

SDIC

0043

17 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0052

15820.0

SDIC

0044

17,1 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0055

15334.0

SDIC

0045

16,5 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

0061

15792.0

SDIC

0046

17,1 sec

SDIU_Single Record Import (

Create

Update) cs00000001_

006215885.0

0050

16,5 sec

SDIU_Single Record Import (Update) cs00000001_

000411596.0

0051

16,5 sec

SDIU_Single Record Import (Update) cs00000001_

000510354.0

0053

16 sec

SDIU_Single Record Import (Update) cs00000001_

000911572.0

0054

16,3 sec

SDIU_Single Record Import (Update) cs00000001_

001111884.0

0056

15,5 sec

SDIU_Single Record Import (Update) cs00000001_

001311458.0

0057

16,3 sec

SDIU_Single Record Import (Update) cs00000001_

001411672.0

0058

16,6 sec

SDIU_Single Record Import (Update) cs00000001_

001612129.0

0059

16,2 sec

SDIU_Single Record Import (Update) cs00000001_

0019

11302.0

SDIU_Single Record Import (Update) cs00000001_0020

12091.0

SDIU_Single Record Import (Update) cs00000001_0027

16105.0

SDIU_Single Record Import (Update) cs00000001_0028

16928.0

SDIU_Single Record Import (Update) cs00000001_0029

17151.0

SDIU_Single Record Import (Update) cs00000001_0035

16954.0

SDIU_Single Record Import (Update) cs00000001_0037

16585.0

SDIU_Single Record Import (Update) cs00000001_0038

16069.0

SDIU_Single Record Import (Update) cs00000001_0040

17904.0

SDIU_Single Record Import (Update) cs00000001_0042

16827.0

SDIU_Single Record Import (Update) cs00000001_0043

17005.0

SDIU_Single Record Import (Update) cs00000001_0044

17192.0

SDIU_Single Record Import (Update) cs00000001_0045

16593.0

SDIU_Single Record Import (Update) cs00000001_0046

17086.0

SDIU_Single Record Import (Update) cs00000001_0050

16416.0

SDIU_Single Record Import (Update) cs00000001_0051

16409.0

SDIU_Single Record Import (Update) cs00000001_0053

15979.0

SDIU_Single Record Import (Update) cs00000001_0054

16308.0

SDIU_Single Record Import (Update) cs00000001_0056

15553.0

SDIU_Single Record Import (Update) cs00000001_0057

16380.0

SDIU_Single Record Import (Update) cs00000001_0058

16634.0

SDIU_Single Record Import (Update) cs00000001_0059

16209.0

SDIU_Single Record Import (Update) cs00000001_0060

15943.0

The table below contains metrics for single record Data-import with “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance” profiles.

...

Metrics

...

Inventory Single Record - Default Update Instance

...

Inventory Single Record - Default Create Instance

...

Avarage

...

1,2 second

...

1,5 second

...

Max 

...

1,65 second

...

1.,8 second

...

Min

...

4,1 second

...

1 second

...

75 th percentile

...

1,6 second

...

1,67 second

...

90 th percentile

...

1, 6 second

...

1,71 second

Dependency graph illustrating the change in data import duration across tenants for two profiles “Inventory Single Record - Default Update Instance” and ”Inventory Single Record - Default Create Instance

...

Resource utilization

This section presents a comprehensive collection of key graphs and metrics necessary for understanding system performance during tests. This area serves as a portal for visualizing and decoding how the various resources have been used and impacted during different stages of performance testing.

Service CPU Utilization

Service 

DI_T1(CT-2k_MT-SRI-50/50).

DI_T2(CT-10k_MT-SRI-50/50).

mod-consortia-b

179%

189%

mod-quick-marc-b

152%

80%

mod-inventory-b

99%

73%

mod-di-converter-storage-b

95%

105%

mod-source-record-storage-b

49%

48%

mod-inventory-storage-b

36%

32%

okapi-b

28%

37%

mod-source-record-manager-b

26%

29%

...

Memory Utilization

During testing, the memory usage increases only on the services that are in the table below, also Memory usage values before test 1 and test2 and after the tests are in the corresponding columns

Service 

MU before the T1, T2

MU after the T1, T2

mod-data-import-b

36

50

mod-search-b

24

31

mod-inventory-b

15

28

mod-source-record-manager-b

14

22

mod-inventory-storage-b

13

23

mod-source-record-storage-b

12

16

...

DB CPU Utilization

CPU usage before tets was about 3%, during DI_T1(CT-2k_MT-SRI-50/50) CPU usage increased up to 80% and during DI_T2(CT-10k_MT-SRI-50/50) CPU usage increased up to 95%.

...

DB Connections

The number of DB connections before the tests were about 750 during DI_T1(CT-2k_MT-SRI-50/50) maximal number was about 1750 and during DI_T2(CT-10k_MT-SRI-50/50) maximal number was about 2300.

...

DB Load

image-20240229-123837.pngImage Removed

SQL queries

...

Methodology/Approach

All tests were run using the JMeter script.

Infrastructure

PTF -environment mcpt

...

11 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1

...

1 database instance, writer

Name Memory GIBv CPUsmax_connections

db.r6g.4xlarge 128 GiB; 16 vCPU

MSK tenant

...

2 m5.2xlarge brokers in 1 zones

...

Apache Kafka version 2.8.0

...

0060

15,9 sec

Infrastructure

PTF -environment mcpt

  • 11 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1

  • 1 database instance, writer

    Name Memory GIBv CPUsmax_connections

    db.r6g.4xlarge 128 GiB; 16 vCPU

Expand
titleNumber of instances and holdings on each of the tenant

Tenant

Number of instance records

Number of holdings  records

 cs00000001_0001

65359

66698

 cs00000001_0002

22370

22478

 cs00000001_0003

136291

136680

 cs00000001_0004

77785

78348

 cs00000001_0005

110093

110670

 cs00000001_0006

293580

354866

 cs00000001_0007

279493

281880

 cs00000001_0008

160024

183456

 cs00000001_0009

110918

113452

 cs00000001_0010

83254

85931

 cs00000001_0011

94171

96351

 cs00000001_0012

227489

234351

 cs00000001_0013

19131

20386

 cs00000001_0014

20746

20972

 cs00000001_0015

26899

32560

 cs00000001_0016

153333

153430

 cs00000001_0017

16492

17053

 cs00000001_0018

22263

22782

 cs00000001_0019

5312

5960

 cs00000001_0020

44259

45941

 cs00000001_0021

83988

90207

 cs00000001_0022

86900

87359

 cs00000001_0023

91517

92098

 cs00000001_0024

385123

393085

 cs00000001_0025

84215

85690

 cs00000001_0026

153912

155148

 cs00000001_0027

48176

49393

 cs00000001_0028

64556

66641

 cs00000001_0029

5140

7959

 cs00000001_0030

97589

102043

 cs00000001_0031

71895

76244

 cs00000001_0032

80074

86818

 cs00000001_0033

45886

47652

 cs00000001_0034

18240

19995

 cs00000001_0035

135704

136564

 cs00000001_0036

114170

115913

 cs00000001_0037

24226

25970

 cs00000001_0038

225563

244421

 cs00000001_0039

128523

130263

 cs00000001_0040

111992

116736

 cs00000001_0041

61091

61473

 cs00000001_0042

634675

650198

 cs00000001_0043

2831

831

 cs00000001_0044

70871

71478

 cs00000001_0045

78320

92824

 cs00000001_0046

109677

126252

 cs00000001_0047

48531

49519

 cs00000001_0048

53346

53597

 cs00000001_0049

6952

7459

 cs00000001_0050

190736

208837

 cs00000001_0051

351325

363364

 cs00000001_0052

137940

148890

 cs00000001_0053

61834

62324

 cs00000001_0054

16297

17156

 cs00000001_0055

176009

182364

 cs00000001_0056

160976

167864

 cs00000001_0057

22596

23744

 cs00000001_0058

123819

124396

 cs00000001_0059

37715

38686

 cs00000001_0060

38395

38776

 cs00000001_0061

87117

88458

 cs00000001_0062

1

1

  • MSK “ptf-mobius-testing2

    • 2 m5.2xlarge brokers in 1 zone

    • Apache Kafka version 2.8.0

    • EBS storage volume per broker 300 GiB

Task definitions of related modules were changed to use shared Kafka topics.

Expand
titleAdditional kafka configs
Code Block
 { "name": "KAFKA_PRODUCER_TENANT_COLLECTION",
   "value": "ALL" },
   

Kafka topics were created with the suffix “mcpt.Default.ALL.” and used 2 partitions for involved topics topics,

The table contains modules, memory, and CPU parameters

...