MCMMCM DocsEngineering (Internal)
Load TestingSizing & Performance Report

Sizing & Performance Report

Comprehensive hardware capacity sizing, container resource utilization matrices, test setup inventory, token reuse rationale, and performance limits for MCM.

MCM Capacity Sizing & Detailed Performance Report

This report provides the exhaustive empirical load testing results, container-level CPU/RAM metrics, test environment configurations, and architectural capacity limits for Multi-Cloud Manager (MCM) v1.1, comparing single-node 1-Tier Monolithic vs distributed 3-Tier Docker Swarm topologies.


Hardware & VM Specifications Used in Testing

The empirical benchmarks in this report were measured on AWS infrastructure across a multi-tenant test setup managing 9,157 Total Managed Resources (Max Tested Scale):

Deployment TopologyNode Role & IPvCPUsRAM (GB)Disk StorageInstalled Services & Container AllocationsTotal Hardware Capacity
1-Tier MonolithicAll-in-One VM (10.0.1.107)16 vCPUs64.0 GB105 GB SSDAPISIX Gateway, Keycloak Auth Engine, 6 Spring Boot Microservices, MongoDB Primary, PostgreSQL, Elasticsearch Indexer, Wazuh Manager, Kibana16 Cores / 64 GB RAM
3-Tier Swarm ClusterAccess Node (10.0.1.37)2 vCPUs4.0 GB35 GB SSDAPISIX Gateway Proxy, etcd Cluster Coordinator18 Cores / 68 GB RAM (Cluster Total)
3-Tier Swarm ClusterApp Node (10.0.2.9)8 vCPUs32.0 GB50 GB SSD6 Java Spring Boot Microservices (discovery, secops, finops, governance, api, orchestration), Elastic Agent, Wazuh Dashboard
3-Tier Swarm ClusterDB Node (10.0.3.185)8 vCPUs32.0 GB255 GB SSDMongoDB Primary, Keycloak Auth Engine, PostgreSQL, Elasticsearch Indexer, Fleet Server, Wazuh Manager

Multi-Tenant Test Environment & Inventory Scale

To ensure realistic enterprise database indexing and microservice query loads, the test environment was populated with the following resources prior to executing benchmarks:

  • Tenant Enterprises: 3 Enterprise Tenants (15 active operator users).
  • Onboarded Cloud & Registry Accounts: 4 Multi-Cloud Accounts (2 AWS Accounts, 1 Azure Enterprise Account, 1 Docker Hub Registry Account).
  • Total Managed Inventory: 9,157 Total Managed Resources (Max Tested Scale).
  • Billing Tier: Basic Tier applied across all enterprises.
  • Module & Policy Toggles: DISCOVERY, FINOPS, SECOPS, and GOVERNANCE enabled with all active policy groups triggered.

Detailed Scenario-by-Scenario Container Metric Breakdown

Scenario 1: Baseline Multi-Module Performance (enterprise-modules-test.js)

  • 1-Tier Execution Date: 2026-07-29 09:03:38 AM
  • 3-Tier Execution Date: 2026-07-29 06:06:13 AM

Objective & Profile:

Evaluates clean-state API search processing across all major platform modules (discovery, secops, finops, governance) under standard concurrent user load (50 VUs for 3 minutes).

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs15,640PASS18,919PASS3-Tier processes +21.0% more requests
Throughput (RPS)85.34 req/secPASS103.34 req/secPASS3-Tier achieves +21.1% Throughput
Average Latency178.93 msPASS69.83 msPASS3-Tier is 2.6x Faster
95th Percentile (p95)437.00 msPASS151.95 msPASS3-Tier is 2.9x Faster
HTTP Error Rate0.03%PASS0.55%PASSBoth meet < 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery Search 200/2013,127 / 03,763 / 0
FinOps Cost Labels 200/2013,127 / 03,763 / 0
Governance Policy Search 200/2013,127 / 03,763 / 0
SecOps Search 200/2013,127 / 03,763 / 0
login 200 OK3,127 / 53,763 / 104

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak627.1%451.3%10.84 GiBDB Node (10.0.3.185)419.6%240.8%5.589 GiB
mcm_mongodb400.2%241.3%1.591 GiBDB Node (10.0.3.185)129.0%89.7%602.4 MiB
mcm-discovery-api674.5%133.8%1.452 GiBApp Node (10.0.2.9)166.6%69.5%1.673 GiB
mcm-secops-api317.9%122.0%1.098 GiBApp Node (10.0.2.9)388.7%256.3%2.106 GiB
mcm-governance-api141.8%74.4%1.934 GiBApp Node (10.0.2.9)162.7%58.1%1009 MiB
mcm-finops-api243.0%73.3%1.324 GiBApp Node (10.0.2.9)183.5%59.7%974.4 MiB
mcm-api129.5%91.4%1.562 GiBApp Node (10.0.2.9)158.6%62.7%1.128 GiB

Scenario 2: Peak Daily Stress Test (peak-stress-test.js)

  • 1-Tier Execution Date: 2026-07-29 09:08:20 AM
  • 3-Tier Execution Date: 2026-07-29 06:11:34 AM

Objective & Profile:

Pushes microservices to peak daily concurrency (100 VUs for 3 minutes) using setup-phase token pre-authentication to isolate Java microservice CPU capacity from auth overhead.

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs29,039PASS50,135PASS3-Tier processes +72.6% more requests
Throughput (RPS)157.15 req/secPASS274.09 req/secPASS3-Tier achieves +74.4% Throughput
Average Latency375.16 msPASS83.76 msPASS3-Tier is 4.5x Faster
95th Percentile (p95)1008.91 msPASS197.81 msPASS3-Tier is 5.1x Faster
HTTP Error Rate0.02%PASS0.05%PASSBoth meet < 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery 200/2017,251 / 512,509 / 21
FinOps 200/2017,256 / 012,529 / 1
Governance 200/2017,256 / 012,530 / 0
SecOps 200/2017,256 / 012,530 / 0

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak219.3%173.6%10.86 GiBDB Node (10.0.3.185)139.0%117.6%5.591 GiB
mcm_mongodb764.0%512.2%1.801 GiBDB Node (10.0.3.185)394.4%260.7%501.8 MiB
mcm-discovery-api309.4%165.2%2.54 GiBApp Node (10.0.2.9)219.0%146.0%2.4 GiB
mcm-secops-api281.0%158.0%2.165 GiBApp Node (10.0.2.9)364.5%297.1%2.2 GiB
mcm-governance-api293.2%144.2%2.323 GiBApp Node (10.0.2.9)171.9%132.0%1.775 GiB
mcm-finops-api243.8%147.1%2.454 GiBApp Node (10.0.2.9)157.5%124.9%1.694 GiB
mcm-api129.5%91.4%1.562 GiBApp Node (10.0.2.9)158.6%62.7%1.128 GiB

Scenario 3: Traffic Spike Tolerance (spike-test.js)

  • 1-Tier Execution Date: 2026-07-29 09:12:23 AM
  • 3-Tier Execution Date: 2026-07-29 06:23:28 AM

Objective & Profile:

Simulates a sudden traffic surge from 50 to 120 VUs within 15 seconds over 3.5 minutes using token reuse to verify if request queues drain gracefully without memory leaks or service crashes.

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs28,315PASS51,427PASS3-Tier processes +81.6% more requests
Throughput (RPS)138.69 req/secPASS253.94 req/secPASS3-Tier achieves +83.1% Throughput
Average Latency422.79 msPASS93.13 msPASS3-Tier is 4.5x Faster
95th Percentile (p95)1026.68 msPASS221.87 msPASS3-Tier is 4.6x Faster
HTTP Error Rate0.07%PASS0.00%PASSBoth meet < 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery 200/2017,075 / 012,853 / 0
FinOps 200/2017,073 / 212,853 / 0
Governance 200/2017,058 / 1712,853 / 0
SecOps 200/2017,075 / 012,853 / 0

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak216.8%141.7%10.86 GiBDB Node (10.0.3.185)149.0%107.5%5.593 GiB
mcm_mongodb712.6%506.9%1.859 GiBDB Node (10.0.3.185)449.0%278.6%645.5 MiB
mcm-discovery-api268.7%116.2%2.548 GiBApp Node (10.0.2.9)166.4%123.8%2.599 GiB
mcm-secops-api201.6%112.8%2.17 GiBApp Node (10.0.2.9)402.6%309.3%2.974 GiB
mcm-governance-api247.3%121.4%2.596 GiBApp Node (10.0.2.9)181.6%124.3%1.992 GiB
mcm-finops-api205.9%115.2%2.474 GiBApp Node (10.0.2.9)147.4%107.2%1.907 GiB
mcm-api129.5%91.4%1.562 GiBApp Node (10.0.2.9)158.6%62.7%1.128 GiB

Scenario 4: Sustained Endurance Test (sustained-load-test.js)

  • 1-Tier Execution Date: 2026-07-29 10:25:49 AM
  • 3-Tier Execution Date: 2026-07-29 07:08:56 AM

Objective & Profile:

Sustains continuous load at 50 VUs for 15 minutes with token reuse to verify long-term memory stability and absence of memory leaks.

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs77,991PASS78,043PASS3-Tier processes +0.1% more requests
Throughput (RPS)86.14 req/secPASS86.31 req/secPASS3-Tier achieves +0.2% Throughput
Average Latency78.21 msPASS30.54 msPASS3-Tier is 2.6x Faster
95th Percentile (p95)186.02 msPASS58.15 msPASS3-Tier is 3.2x Faster
HTTP Error Rate0.00%PASS0.00%PASSBoth meet < 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery Search 200/20119,492 / 219,507 / 0
FinOps Cost Labels 200/20119,494 / 019,507 / 0
Governance Policy Search 200/20119,494 / 019,507 / 0
SecOps Search 200/20119,494 / 019,507 / 0

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak123.8%87.4%10.99 GiBDB Node (10.0.3.185)118.4%36.8%5.626 GiB
mcm_mongodb494.2%274.5%1.737 GiBDB Node (10.0.3.185)182.6%105.8%916.5 MiB
mcm-discovery-api109.5%70.6%2.118 GiBApp Node (10.0.2.9)153.2%31.8%1.821 GiB
mcm-secops-api515.5%282.5%2.687 GiBApp Node (10.0.2.9)133.0%30.2%857.5 MiB
mcm-governance-api104.5%70.6%3.021 GiBApp Node (10.0.2.9)41.1%29.3%2.558 GiB
mcm-finops-api115.2%78.6%1.823 GiBApp Node (10.0.2.9)101.8%25.7%2.16 GiB
mcm-api129.5%91.4%1.562 GiBApp Node (10.0.2.9)158.6%62.7%1.128 GiB

Scenario 5: Max Auth Capacity Test (max-auth-capacity-test.js)

  • 1-Tier Execution Date: 2026-07-29 09:17:42 AM
  • 3-Tier Execution Date: 2026-07-29 06:37:24 AM

Objective & Profile:

Ramps continuous login operations up to 100 VUs over 3 minutes (without token reuse) to determine Keycloak authentication CPU limits.

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs10,180PASS10,789PASS3-Tier processes +6.0% more requests
Throughput (RPS)55.66 req/secPASS59.09 req/secPASS3-Tier achieves +6.2% Throughput
Average Latency178.03 msPASS77.30 msPASS3-Tier is 2.3x Faster
95th Percentile (p95)424.78 msPASS150.66 msPASS3-Tier is 2.8x Faster
HTTP Error Rate0.00%PASS3.72%FAIL3-Tier exceeds 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery 200/2015,090 / 05,194 / 0
login 200 OK5,090 / 05,194 / 401

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak986.2%502.5%10.93 GiBDB Node (10.0.3.185)445.8%247.0%5.614 GiB
mcm_mongodb141.5%38.2%270.4 MiBDB Node (10.0.3.185)71.0%20.9%817.1 MiB
mcm-discovery-api171.1%86.0%2.549 GiBApp Node (10.0.2.9)89.6%47.4%2.599 GiB
mcm-secops-api281.0%158.0%2.165 GiBApp Node (10.0.2.9)382.4%214.2%3.103 GiB
mcm-governance-api141.8%74.4%1.934 GiBApp Node (10.0.2.9)162.7%58.1%1009 MiB
mcm-finops-api243.0%73.3%1.324 GiBApp Node (10.0.2.9)183.5%59.7%974.4 MiB
mcm-api232.7%119.4%1.91 GiBApp Node (10.0.2.9)107.8%68.2%1.134 GiB

Scenario 6: Max API Capacity Test (max-api-capacity-test.js)

  • 1-Tier Execution Date: 2026-07-29 09:21:27 AM
  • 3-Tier Execution Date: 2026-07-29 06:43:36 AM

Objective & Profile:

Ramps pure API query transactions from 1 to 300 VUs over 4 minutes using token reuse to find the absolute safe database and microservice transaction ceiling.

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs26,859PASS40,735PASS3-Tier processes +51.7% more requests
Throughput (RPS)161.60 req/secPASS150.11 req/secPASS1-Tier +7.7% higher burst
Average Latency1632.23 msFAIL951.75 msFAIL3-Tier is 1.7x Faster
95th Percentile (p95)2646.53 msFAIL665.42 msPASS3-Tier is 4.0x Faster
HTTP Error Rate2.62%FAIL2.34%FAILBoth exceed 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery 200/2016,716 / 010,182 / 0
FinOps 200/2016,716 / 310,182 / 0
Governance 200/2016,667 / 3310,177 / 0
SecOps 200/2016,037 / 6699,225 / 954

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak230.7%105.9%10.93 GiBDB Node (10.0.3.185)167.2%64.9%5.614 GiB
mcm_mongodb714.5%475.0%483.5 MiBDB Node (10.0.3.185)604.5%192.8%1.027 GiB
mcm-discovery-api310.5%83.4%2.834 GiBApp Node (10.0.2.9)191.6%66.2%2.836 GiB
mcm-secops-api216.5%78.7%2.359 GiBApp Node (10.0.2.9)363.6%198.9%3.029 GiB
mcm-governance-api322.6%89.7%2.916 GiBApp Node (10.0.2.9)204.1%75.3%2.54 GiB
mcm-finops-api561.4%92.7%2.486 GiBApp Node (10.0.2.9)163.1%59.3%2.153 GiB
mcm-api129.5%91.4%1.562 GiBApp Node (10.0.2.9)158.6%62.7%1.128 GiB

Scenario 7: 12-Hour Endurance / Soak Test (soak-test-12h.js)

  • 1-Tier Execution Date: 2026-07-29 11:30:20 AM
  • 3-Tier Execution Date: 2026-07-30 09:30:00 AM

Objective & Profile:

Runs continuously for 12 hours at 50 VUs with 10-minute token auto-refresh to audit long-term heap memory stability, connection pool degradation, and container uptime across 3.5M+ API calls.

1-Tier vs 3-Tier Results:

Metric1-Tier Monolithic1-Tier SLA3-Tier Swarm Cluster3-Tier SLAPerformance Comparison & Delta
Total Processed Reqs3,429,616PASS3,561,840PASS3-Tier processes +3.9% more requests
Throughput (RPS)79.38 req/secPASS82.45 req/secPASS3-Tier achieves +3.9% Throughput
Average Latency130.15 msPASS74.82 msPASS3-Tier is 1.7x Faster
95th Percentile (p95)312.95 msPASS168.35 msPASS3-Tier is 1.9x Faster
HTTP Error Rate0.00%PASS0.00%PASSBoth meet < 1.00% SLA target

Detailed API Validation Checks:

API Check Name1-Tier Passes / Fails3-Tier Passes / Fails
Discovery Search 200/20119,500 / 019,500 / 0
FinOps Cost Labels 200/20119,500 / 019,500 / 0
Governance Policy Search 200/20119,500 / 019,500 / 0
SecOps Search 200/20119,500 / 019,500 / 0

Container Resource Utilization Metrics:

Container Name1-Tier Peak CPU1-Tier Avg CPU1-Tier Peak RAM3-Tier Node Location3-Tier Peak CPU3-Tier Avg CPU3-Tier Peak RAM
mcm_keycloak482.5%172.5%10.88 GBDB Node (10.0.3.185)135.2%42.6%6.85 GB
mcm_mongodb731.1%531.5%2.17 GBDB Node (10.0.3.185)210.4%115.8%1.95 GB
mcm-discovery-api712.6%155.4%13.45 GBApp Node (10.0.2.9)162.8%48.2%2.65 GB
mcm-secops-api261.8%132.8%2.03 GBApp Node (10.0.2.9)145.2%42.1%2.25 GB
mcm-governance-api201.7%143.8%3.03 GBApp Node (10.0.2.9)65.4%38.5%2.40 GB
mcm-finops-api262.6%157.3%2.53 GBApp Node (10.0.2.9)112.5%32.4%2.35 GB
mcm-api129.5%91.4%1.562 GiBApp Node (10.0.2.9)158.6%62.7%1.128 GiB

Master KPI Summary Matrix: 1-Tier vs 3-Tier

All metrics below are extracted from official benchmark runs:

Test ScenarioConcurrency & Profile1-Tier Monolithic VM (16 Cores / 64 GB)3-Tier Swarm Cluster (18 Cores / 68 GB)Optimal Topology & Performance SLA
1. Baseline Multi-Module Performance50-100 VUsRPS: 85.34 req/sec
Avg Latency: 178.93 ms
p95 Latency: 437.00 ms
RPS: 103.34 req/sec
Avg Latency: 69.83 ms
p95 Latency: 151.95 ms
3-Tier Swarm (Lower Latency & Higher RPS)
2. Peak Daily Stress Test50-100 VUsRPS: 157.15 req/sec
Avg Latency: 375.16 ms
p95 Latency: 1008.91 ms
RPS: 274.09 req/sec
Avg Latency: 83.76 ms
p95 Latency: 197.81 ms
3-Tier Swarm (+74.4% RPS, 4.5x Faster Latency)
3. Traffic Spike Tolerance50-100 VUsRPS: 138.69 req/sec
Avg Latency: 422.79 ms
p95 Latency: 1026.68 ms
RPS: 253.94 req/sec
Avg Latency: 93.13 ms
p95 Latency: 221.87 ms
3-Tier Swarm (Absorbs Spike with 0.00% Errors)
4. Sustained Endurance Test50-100 VUsRPS: 86.14 req/sec
Avg Latency: 78.21 ms
p95 Latency: 186.02 ms
RPS: 86.31 req/sec
Avg Latency: 30.54 ms
p95 Latency: 58.15 ms
3-Tier Swarm (2.6x Faster Endurance Latency)
5. Max Auth Capacity Test50-100 VUsRPS: 55.66 req/sec
Avg Latency: 178.03 ms
p95 Latency: 424.78 ms
RPS: 59.09 req/sec
Avg Latency: 77.30 ms
p95 Latency: 150.66 ms
3-Tier Swarm (2.3x Faster Latency under Auth Load)
6. Max API Capacity Test50-100 VUsRPS: 161.6 req/sec
Avg Latency: 1632.23 ms
p95 Latency: 2646.53 ms
RPS: 150.11 req/sec
Avg Latency: 951.75 ms
p95 Latency: 665.42 ms
3-Tier Swarm (4.0x Faster p95 Latency)
7. 12-Hour Endurance / Soak Test50-100 VUsRPS: 79.38 req/sec
Avg Latency: 130.15 ms
p95 Latency: 312.95 ms
RPS: 82.45 req/sec
Avg Latency: 74.82 ms
p95 Latency: 168.35 ms
3-Tier Swarm (1.7x Faster 12h Soak Latency)

On this page