The current performance test of ACM-R is made by jmeter. The jmeter file is configured with a cycle where a composition in created and primed, and an instance is deployed, undeployed and deleted. The test is made again a Kubernetes environment defined in policy/docker.

We need to investigate the performance of ACM-R whit hundreds of compositions and instances deployed at same time and determine minimal/recommended requirements of memory and CPU.

Test using 100 compositions and instances

Test made with 5 user and 20 instances for each user. Components version: 7.1.1

mariadb

replica: 1

policy-clamp-runtime-acm/policy-clamp-ac-pf-ppnt/policy-clamp-ac-http-ppnt/policy-clamp-ac-k8s-ppnt

 Limits:
      cpu:     1
      memory:  4Gi
    Requests:
      cpu:        100m
      memory:     1Gi

system_cpu_usage (15m)

Note: runtime has reached the max limit CPU. Http participant has used less then 500m.

jvm_memory_used_bytes (15m)

Note: runtime and participants have not used so much memory.

http_server_requests_seconds_max (15m)

spring_data_repository_invocations_seconds_max (15m)

Test using 500 compositions and instances

Test made with 5 user and 100 instances for each user. Components version: 7.1.1

mariadb

replica: 1

policy-clamp-runtime-acm/policy-clamp-ac-pf-ppnt/policy-clamp-ac-http-ppnt/policy-clamp-ac-k8s-ppnt

 Limits:
      cpu:     1
      memory:  4Gi
    Requests:
      cpu:        100m
      memory:     1Gi

system_cpu_usage (2h)

jvm_memory_used_bytes (2h)

http_server_requests_seconds_max (2h)

Note: with 500 compositions, some endpoints like "/v2/compositions" needs paginations.

spring_data_repository_invocations_seconds_max (2h)

Test using 500 compositions and instances

Test made with 5 user and 100 instances for each user. Components version: 7.1.1

mariadb

replica: 1

policy-clamp-runtime-acm

 Limits:
      cpu:     2
      memory:  4Gi
    Requests:
      cpu:        100m
      memory:     1Gi

policy-clamp-ac-pf-ppnt/policy-clamp-ac-http-ppnt/policy-clamp-ac-k8s-ppnt

 Limits:
      cpu:     1
      memory:  2Gi
    Requests:
      cpu:        100m
      memory:     500Mi

system_cpu_usage (2h)

jvm_memory_used_bytes (2h)

http_server_requests_seconds_max (2h)

spring_data_repository_invocations_seconds_max (2h)

Test using 500 compositions and instances

Test made with 5 user and 100 instances for each user. Components version: 7.1.1

mariadb

replica: 2

policy-clamp-runtime-acm

 Limits:
      cpu:     2
      memory:  4Gi
    Requests:
      cpu:        100m
      memory:     1Gi

policy-clamp-ac-pf-ppnt/policy-clamp-ac-http-ppnt/policy-clamp-ac-k8s-ppnt

 Limits:
      cpu:     1
      memory:  2Gi
    Requests:
      cpu:        100m
      memory:     500Mi

system_cpu_usage (1h)

jvm_memory_used_bytes (1h)

microk8s kubectl top pod

NAMECPU(cores)MEMORY(bytes)
kafka-deployment-5c87d497b-xwg9q24m683Mi
zookeeper-deployment-7ff87c7fcc-wpbhd3m132Mi
mariadb-galera-09m184Mi
mariadb-galera-123m214Mi
policy-clamp-ac-http-ppnt-7cfb879b7b-rw48q5m270Mi
policy-clamp-ac-k8s-ppnt-666fd747b8-gp26b5m230Mi
policy-clamp-ac-pf-ppnt-86bb4566bf-zdwz65m235Mi
policy-clamp-runtime-acm-6cb79cfc7c-nchwc33m813Mi
prometheus-f66f97b6-grn724m30Mi

http_server_requests_seconds_max (1h)

spring_data_repository_invocations_seconds_max (1h)


  • No labels