keycloak/testsuite/performance/README.docker-compose.md

2.2 KiB
Raw Blame History

Keycloak Performance Testsuite - Docker Compose Provisioner

Supported Deployments

Deployment Available Operations Orchestration Template
singlenode provision, teardown, export-dump, import-dump docker-compose.yml
cluster provision, teardown, export-dump, import-dump docker-compose-cluster.yml*
crossdc provision, teardown, export-dump, import-dump docker-compose-crossdc.yml*
monitoring provision, teardown docker-compose-monitoring.yml

The docker-compose orchestration templates are located in tests/src/main/docker-compose directory.

[*] The cluster and crossdc templates are generated dynamically during the provision operation based on provided cpusets parameter. One Keycloak service entry is generated for each cpuset. This is a workaround for limitations of the default docker-compose scaling mechanism which only allows setting cpuset per service, not per container. For more predictable performance results it is necessary for each Keycloak server to have an exclusive access to specific CPU cores.

Debugging docker containers:

  • List started containers: docker ps. It's useful to watch continuously: watch docker ps. To list compose-only containers use: docker-compose ps, but this doesn't show container health status.
  • Watch logs of a specific container: docker logs -f crossdc_mariadb_dc1_1.
  • Watch logs of all containers managed by docker-compose: docker-compose logs -f.
  • List networks: docker network ls
  • Inspect network: docker network inspect NETWORK_NAME. Shows network configuration and currently connected containers.

Network Addresses

KC

10.i.1.0/24 One network per DC. For single-DC deployments i = 0, for cross-DC deployment i ∈ is an index of particular DC.

Load Balancing

10.0.2.0/24 Network spans all DCs.

DB Replication

10.0.3.0/24 Network spans all DCs.

ISPN Replication

10.0.4.0/24 Network spans all DCs.