Versions Compared

Key

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

toc
Table of Contents
outlinetrue

Overview

  • In this report, PTF investigates the impact of setting CPU allocations to 0 units across all tasks within an AWS ECS cluster. The purpose of this study is to determine whether removing CPU constraints reveals the actual CPU usage of the tasks and to assess how this adjustment affects overall performance. By comparing key workflows across different environments, we aim to identify any potential changes in efficiency, throughput, or resource utilization that may result from setting CPU = 0. The findings from these tests will help inform best practices for resource allocation and performance optimization within ECS clusters.

...

This table contains durations for all Workflows. 

WorkflowTest 1
Baseline Env
configuration
(average case)Test 2
CPU=0
(high load)Test 3
x2gd.xlarge
CPU=0
instances=6Test 4
x2gd.xlarge
CPU=0
instances=8Test 5
x2gd.large
CPU=0
instances=10Test 6
r6g.xlarge
CPU=2
instances=12(14) Test 7
r6g.xlarge
CPU=2
instances=14
placement strategy
(one task per host)Test 8
x2gd.large
CPU=2
instances=14
placement strategy
(one task per host)Average
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAverage
(milliseconds)ErrorsAIE_TC: Create Invoices7682100%8106100%50468100%15554100%92805100%10191100%9716100%91611100%AIE_TC: Invoices Approve2818100%3016100%24781100%7720100%51554100%4512100%4210100%51626100%AIE_TC: Paying Invoices2882100%3164100%32994100%9788100%64642100%5430100%4902100%65029100%CICO_TC_Check-In Controller20000%22140%190750%60380%329090%36590%31940%308310%CICO_TC_Check-Out Controller35480%37990%292241%105600%573470%64390%55950%555030%CSI_TC:Share local instance1305019%1307319%1426516%161920%173612%1378214%1333917%174601%DE_Exporting MARC Bib records custom workflow847070%590990%38249156%1168690%56738983%1278850%885410%50075971%DE_Exporting MARC Bib records workflow741260%430930%41798257%976564%62361091%821260%830460%45721258%EVA_TC: View Account5190%5650%1603419%17360%406192%11381%9721%376691%ILR_TC: Create ILR14220%14990%116071%38820%236760%24140%19970%223350%MSF_TC: mod search by auth query7552%6680%18880%15000%61800%10800%9100%58940%MSF_TC: mod search by boolean query2051%1590%5940%4270%20220%2580%2380%18710%MSF_TC: mod search by contributors4401%3940%8560%8390%34540%6160%5300%33000%MSF_TC: mod search by filter query3020%2840%5120%5390%20180%4160%3620%19240%MSF_TC: mod search by keyword query3100%2800%5210%5370%20130%4160%3610%1912
(average case) 

Average
(milliseconds)
ErrorsAverage
(milliseconds)
ErrorsAverage
(milliseconds)
Errors
AIE_TC: Create Invoices8350100%13458100%7421100%
AIE_TC: Invoices Approve3180100%5251100%2960100%
AIE_TC: Paying Invoices3289100%4919100%3060100%
CICO_TC_Check-In Controller23230%33227%22280%
CICO_TC_Check-Out Controller41540%570010%38960%
CSI_TC:Share local instance1300819%1478114%1296920%
DE_Exporting MARC Bib records custom workflow529830%37991295%787590%
DE_Exporting MARC Bib records workflow427850%40202698%739570%
EVA_TC: View Account8033%9623%7001%
ILR_TC: Create ILR15270%22154%14510%
MSF_TC: mod search by
subject
auth query
448
6720%
406
1830
0%
7%
7970%
3096
0%7780%30760%6200%5190%2917
4%
MSF_TC: mod search by boolean query1650%4852%7371%
MSF_TC: mod search by
title query10901%1025
contributors3980%
1435
1063
0%
3%
13871432
1664
0%36870%
2%
MSF_TC: mod search by filter query2860%
1149
713
0%
2%
3543
1070
0%5330
2%
OPIH_/oai/records
MSF_TC: mod search by keyword query2840%
5404
658
0%
1%
9330399917
1006
0%76770%68810%33270%69900%83350%POO_TC: Add Order Lines521420%541930%2821920%792060%4120040%577350%577490%
1%
MSF_TC: mod search by subject query4070%11121%15302%
MSF_TC: mod search by title query10310%24491%29071%
OPIH_/oai/records60420%4649100%35870%
POO_TC:
Approve
Add Order Lines
40656
553340%
42523
99076
0%
19%
211747
544400%
564460%2651670%439300%438340%2759350%
POO_TC: Approve Order425670%7902212%421910%
POO_TC Create Order
30734
319330%
31652
56468
0%1073180%429400%492340%321210%438340%175643
13%314060%
RTAC_TC: edge
-rtac37350%38280%162950%13870%571950%4205
-rtac41500%
3950
47260%
55595
40840%
SDIC_Single Record Import (Create)
13279
1377719%
13894
20475
19%
13%
45024
13773
16%173050%790532%1465014%1453117%742011%
20%
SDIU_Single Record Import (Update)
18466
195490%
19432
36639
0%0%
16%
218270100%282070%1183990%217360%209650%115777
195821%
TC: Receiving-an-Order-
Line43765100%46104100%218270100%65242100%325230100%49024
Line45895100%
48538
83735100%
322267
45888100%
Serials-Receiving-Workflow
45694
48584100%
47336
86692100%
198116
47338100%
68545
100%302203100%49873100%50028100%295508100%
Unreceiving-a-Piece
7823
8080100%
7757
13729100%
40059
8013100%
13335100%64155100%9018100%8717100%60295100%
ULR_TC: Users loan Renewal Transaction
2810
31890%
3078
4818
0%1%
6%
22602
2970
78290%
0%
383830%46730%40300%36143
TOTAL





Comparison

This graph shows the total durations of all workflows compared between tests.

...

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.



Kafka metrics


DB CPU Utilization

DB CPU was 99% average with ERW: Exporting Receiving Information

...

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.



Kafka metrics





DB CPU Utilization

DB CPU was 99% average with ERW: Exporting Receiving Information

...

Resource utilization for Test №3

The Baseline MCPT Environment configuration was applied, the instance type was changed to x2gd.xlarge, the number of instances was changed to 6, and CPU=0 was set for all services.

Service CPU Utilization

Here we can see that mod-permissions used 20% of the absolute CPU power of the container instance.

...

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.



Kafka metrics






DB CPU Utilization

DB CPU was 64% maximum.

...

Resource utilization for Test №4

The Baseline MCPT Environment configuration was applied, the instance type was changed to x2gd.xlarge, the number of instances was changed to 8, and CPU=0 was set for all services.

Service CPU Utilization

Here we can see that okapi used 20% of the absolute CPU power of the container instance.

...

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.



Kafka metrics






DB CPU Utilization

DB CPU was 91%.

...

Resource utilization for Test №5

The Baseline MCPT Environment configuration was applied, the instance type was changed to x2gd.large, the number of instances was changed to 10, and CPU=0 was set for all services.TT

Service CPU Utilization

...

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.



Kafka metrics




DB CPU Utilization

DB CPU was 42%.

...

Resource utilization for Test №6

The Baseline MCPT Environment configuration was applied, the instance type was changed to r6g.xlarge, the number of instances was changed to 14 but 12 were used, and CPU=2 was set for all services.

Service CPU Utilization

Here we can see that okapi used 46000% CPU of unit power.

...

Inctanse CPU Utilization


Kafka metrics






DB CPU Utilization

DB CPU was 98%.

...

Resource utilization for Test №7

The Baseline MCPT Environment configuration was applied, the instance type was changed to r6g.xlarge, the number of instances was changed to 14, placement strategy was updated to "one task per host", and CPU=2 was set for all services.

Service CPU Utilization

Here we can see that okapi used 44000% of the unit CPU power.


Service Memory Utilization

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.


...

Inctanse CPU Utilization


Kafka metrics






DB CPU Utilization

DB CPU was 98%.


DB Connections

Max number of DB connections was 5150.


DB load

                                                                                                                     

Top SQL-queries



Resource utilization for Test №8

The Baseline MCPT Environment configuration was applied, the instance type was changed to x2gd.large, the number of instances was changed to 14, placement strategy was updated to "one task per host", and CPU=2 was set for all services.

Service CPU Utilization

Here we can see that okapi used 38% of the unit CPU power.


Service Memory Utilization

Here we can't see any sign of memory leaks on every module. Memory shows stable trend.



Kafka metrics






DB CPU Utilization

DB CPU was maximum 53%.


DB Connections

Max number of DB connections was 3842.


DB load

                                                                                                                     

Top SQL-queries



...

PTF - Baseline MCPT environment configuration

  • 14 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 1 database  instance, writer


    NameMemory GIBvCPUs

    db.r6g.4xlarge

    128 GiB16 vCPUs


  • Open Search ptf-test 
    • Data nodes
      • Instance type - r6g.2xlarge.search
      • Number of nodes - 4
      • Version: OpenSearch_2_7_R20240502
    • Dedicated master nodes
      • Instance type - r6g.large.search
      • Number of nodes - 3
  • 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

...

Baseline MCPT Environment configuration according to tunning environment from previous report task count: 4 for services: mod-permissions, mod-search, mod-patron, mod-inventory, mod-inventory-storage, mod-circulation, mod-circulation-storage, mod-order, mod-order-storage, mod-invoice, mod-invoice-storage, for mod-users and mod-authtoken task count 6. Parameter srs.marcIndexers.delete.interval.seconds=86400 for mod-source-record-storage. Instance type: m6g.2xlargeInstances count: 14Database r6g.4xlargeAmazon OpenSearch Service  ptf-testr6g.2хlarge.search (4 nodes).

...