Skip to content

KubeArmor Performance Benchmarking Data

Barun Acharya edited this page Feb 29, 2024 · 7 revisions

Benchmarking data

Config

  • Node: 3 e2-custom-2-4096 (2vCPU. 4GB RAM), 1 e2-standard-4 = 4 Node Cluster
  • Platform - GKE
  • Workload -> Microservices-Demo
  • Tool -> Locust Loadgenerator (request at front-end service)

Without Kubearmor

Average

Scenario  Users Kubearmor CPU Kubearmor Relay CPU (m) Throughput (req/s) Failed Requests Micro-service CPU (Frontend) Micro-service CPU (CartService) Micro-service CPU (CurrencyService) Kubearmor Memory Kubearmor Relay Memory
without kubearmor 2000 - - 385.61 0 1015.6m (23 replica) 356.6 (3 replica) 1168.54 (23 replica) - -
Readings
Scenario  Users Kubearmor CPU Kubearmor Relay CPU (m) Throughput (req/s) Failed Requests Micro-service CPU (Frontend) Micro-service CPU (CartService) Micro-service CPU (CurrencyService) Kubearmor Memory Kubearmor Relay Memory
without kubearmor 2000 - - 379.21 0 1393.5m (23 replicas) 332.7m (3 replica) 1325.7m (25 replica) - -
without kubearmor 2000 - - 389.4 0 954.3m (23 replica) 388.35m (3 replica) 1129m (25 replica) - -
without kubearmor 2000 - - 388.14 0 910m (23 replica) 401m (3 replica) 1011.4m (25 replica) - -
without kubearmor 2000 - - 382.72 0 863.73m (23 replica) 351.8m (3 replica) 1119.7m (25 replica) - -
without kubearmor 2000 - - 388.6 0 957.17m (23 replica) 301.6m (3 replica) 1256.9m (25 replica) - -

BPF LSM benchmarking data

Scenario  Users Kubearmor CPU Kubearmor Relay CPU (m) Throughput (req/s) Failed Requests Micro-service CPU (Frontend) Micro-service CPU (CartService) Micro-service CPU (CurrencyService) Kubearmor Memory Kubearmor Relay Memory
with Kubearmor (without policy) 2000 178.1m (4 replica) 58.5m 380.25 0 900.4m (23 replica) 367.85m (3 replica) 1032m (25 replica) 945.1M (4 replica) 32.9M (1 replica)
with Kubearmor (with process policy) 2000 189.12m (4 replica) 64.6m 381.08 0 904.2m (23 replica) 346.2m (3 replica) 1049.2m (25 replica) 957.85M (4 replica) 33.8M (1 replica)
with Kubearmor (with process, network policy) 2000 181.5m (4 replica) 61.4m 374.3 0 916m (23 replica) 330.65m (3 replica) 1076.5m (25 replica) 955.2M (4 replica) 33.4M (1 replica)
with Kubearmor (with process, network, file policy) 2000 182.1m (4 replica) 66.6m 368.58 0 894.5m (23 replica) 331.75m (3 replica) 1173.6m (25 replica) 965.1M (4 replica) 34.2M (1 replica)

AppArmor LSM Benchmarking Data

Pure AppArmor Benchmark, without System Monitor

Scenario  Users Kubearmor CPU Kubearmor Relay CPU (m) Throughput (req/s) Failed Requests Micro-service CPU (Frontend) Micro-service CPU (CartService) Micro-service CPU (CurrencyService) Kubearmor Memory Kubearmor Relay Memory
with Kubearmor (without policy) 2000 152.75m (4 replica) 42.75m 376.1 0 897.8m (23 replicas) 351.8m (3 replica) 1075.2m (25 replica) 357.75M (4 replica) 51.32M
with Kubearmor (with process policy) 2000 149.02m (4 replica) 54.1m 372.2 0 872.3 (23 replicas) 354.9m (3 replica) 1132.4m (25 replica) 393.8M (4 replica) 49.5M
with Kubearmor (with process, network policy) 2000 154.6m (4 replica) 55.2m 371.3 0 863.4m (23 replicas) 354.2m (3 replica) 1125.9m (25 replica) 394.7M (4 replica) 48.5M
with Kubearmor (with process, network, file policy) 2000 151.2m (4 replica) 54.4m 368.6 0 875m (23 replicas) 413.25m (3 replica) 1139.6m(25 replica) 393.4M (4 replica) 50.12M

Enabled System Monitor, Visbility set to None

We enable system monitor, so as we receive policy violation alerts

Scenario  Users Kubearmor CPU Kubearmor Relay CPU (m) Throughput (req/s) Failed Requests Micro-service CPU (Frontend) Micro-service CPU (CartService) Micro-service CPU (CurrencyService) Kubearmor Memory Kubearmor Relay Memory
with Kubearmor (without policy) 2000 198.5m (4 replica) 54.1m 376.7 0 969.9m (23 replica) 352.3m (3 replica) 1250.5m (25 replica) 1.35G (4 replica) 36.9M
with Kubearmor (with process policy) 2000 208.5m (4 replica) 60.7m 374.6 0 954.6m (23 replica) 346.3m (3 replica) 1246.8m (25 replica) 1.3G (4 replica) 35.8M
with Kubearmor (with process, network policy) 2000 213.6m (4 replica) 64.6m 373.2 0 989.4m (23 replica) 318.4m (3 replica) 1297.6m (25 replica) 1.21G (4 replica) 37.4M
with Kubearmor (with process, network, file policy) 2000 217.5m (4 replica) 62.2m 363.5 0 955.4m (23 replica) 362.7m (3 replica) 1209.1m (25 replica) 1.21G (4 replica) 37.2M
Clone this wiki locally