keycloak-scim/testsuite/performance/README.provisioning-parameters.md
2017-09-25 20:06:06 +02:00

3.8 KiB

Keycloak Performance Testsuite - Provisioning Parameters

Keycloak Server Settings:

Category Setting Property Default value
JVM Memory settings keycloak.jvm.memory -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
Undertow HTTP Listener max connections keycloak.http.max-connections 500
AJP Listener max connections keycloak.ajp.max-connections 500
IO Worker IO thread pool keycloak.worker.io-threads 2
Worker Task thread pool keycloak.worker.task-max-threads 16
Datasources Connection pool min size keycloak.ds.min-pool-size 10
Connection pool max size keycloak.ds.max-pool-size 100
Connection pool prefill keycloak.ds.pool-prefill true
Prepared statement cache size keycloak.ds.ps-cache-size 100

Load Balancer Settings:

Category Setting Property Default value
JVM Memory settings keycloak-lb.jvm.memory -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
Undertow HTTP Listener max connections keycloak-lb.http.max-connections 500
IO Worker IO thread pool keycloak-lb.worker.io-threads 2
Worker Task thread pool keycloak-lb.worker.task-max-threads 16

Infinispan Server Settings

Category Setting Property Default value
JVM Memory settings infinispan.jvm.memory -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC

CPUs

At the moment it is not possible to dynamically parametrize the number of CPUs for a service via Maven properties or environment variables.

To change the default value (cpus: 1) it is necessary to edit the Docker Compose file.

Example: Keycloak service using 2 CPU cores

docker-compose.yml and docker-compose-cluster.yml:

services:
    ...
    keycloak:
        ...
        cpus: 2
        ...

docker-compose-crossdc.yml:

services:
    ...
    keycloak_dc1:
        ...
        cpus: 2
        ...
    keycloak_dc2:
        ...
        cpus: 2
        ...