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
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
Note: runtime has reached the max limit CPU. Http participant has used less then 500m.
jvm_memory_used_bytes
Note: runtime and participants have not used so much memory.
http_server_requests_seconds_max
spring_data_repository_invocations_seconds_max
Test using 500 compositions and instances
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
jvm_memory_used_bytes
http_server_requests_seconds_max
Note: with 500 compositions, some endpoints like "/v2/compositions" needs paginations.
spring_data_repository_invocations_seconds_max
Test using 500 compositions and instances
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