org.keycloak.testsuite performance 3.4.1.Final-SNAPSHOT ../pom.xml 4.0.0 performance-tests Keycloak Performance TestSuite - Tests docker-compose.yml keycloak http://localhost:8080/auth jdbc:mariadb://keycloak:keycloak@localhost:3306/keycloak -Xms64m -Xmx2g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m 500 500 2 16 10 100 true 100 -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m 500 2 16 1 2-3 2 3 0 2g 2g -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC default 1 1.8 1.8 2.11.7 2.1.7 2.2.1 3.2.2 3.3.0.Final keycloak.DefaultSimulation true org.keycloak keycloak-adapter-core org.keycloak keycloak-adapter-spi org.keycloak keycloak-core org.keycloak keycloak-common com.fasterxml.jackson.core jackson-core com.fasterxml.jackson.core jackson-databind org.keycloak keycloak-admin-client org.jboss.spec.javax.ws.rs jboss-jaxrs-api_2.0_spec org.jboss.logging jboss-logging org.jboss.resteasy resteasy-jaxrs org.jboss.resteasy resteasy-client org.jboss.resteasy resteasy-jackson2-provider org.apache.httpcomponents httpclient org.scala-lang scala-library ${scala.version} io.gatling.highcharts gatling-charts-highcharts ${gatling.version} src/test/resources true net.alchim31.maven scala-maven-plugin ${scala-maven-plugin.version} add-source add-source compile compile testCompile -target:jvm-1.8 -deprecation -feature -unchecked -language:implicitConversions -language:postfixOps io.gatling gatling-maven-plugin ${gatling-plugin.version} ${project.build.testOutputDirectory} ${gatling.skip.run} true true -DnumOfRealms=${numOfRealms} -DusersPerRealm=${usersPerRealm} -DclientsPerRealm=${clientsPerRealm} -DrealmRoles=${realmRoles} -DrealmRolesPerUser=${realmRolesPerUser} -DclientRolesPerUser=${clientRolesPerUser} -DclientRolesPerClient=${clientRolesPerClient} -DhashIterations=${hashIterations} integration-test integration-test org.codehaus.mojo properties-maven-plugin 1.0.0 read-dataset-properties initialize read-project-properties ${project.basedir}/datasets/${dataset}.properties initialize-dataset-properties dataset org.codehaus.mojo properties-maven-plugin 1.0.0 initialize-dataset-properties initialize read-project-properties ${project.basedir}/datasets/${dataset}.properties cluster docker-compose-cluster.yml 1 --scale keycloak=${keycloak.scale} http://localhost:8080/auth crossdc docker-compose-crossdc.yml 1 1 --scale keycloak_dc1=${keycloak.dc1.scale} --scale keycloak_dc2=${keycloak.dc2.scale} keycloak_dc1 keycloak_dc2 http://localhost:8081/auth http://localhost:8082/auth provision org.codehaus.mojo exec-maven-plugin docker-compose-up pre-integration-test exec ${project.basedir}/.. docker-compose -f ${compose.file} up -d --build ${compose.up.params} ${project.version} ${keycloak.docker.cpuset} ${keycloak.dc1.docker.cpuset} ${keycloak.dc2.docker.cpuset} ${keycloak.docker.memlimit} ${db.docker.cpuset} ${db.docker.memlimit} ${keycloak.jvm.memory} ${keycloak.http.max-connections} ${keycloak.ajp.max-connections} ${keycloak.worker.io-threads} ${keycloak.worker.task-max-threads} ${keycloak.ds.min-pool-size} ${keycloak.ds.max-pool-size} ${keycloak.ds.pool-prefill} ${keycloak.ds.ps-cache-size} ${keycloak-lb.jvm.memory} ${keycloak-lb.http.max-connections} ${keycloak-lb.worker.io-threads} ${keycloak-lb.worker.task-max-threads} ${infinispan.jvm.memory} healthcheck pre-integration-test exec ./healthcheck.sh ${project.basedir}/.. ${keycloak.server.uris} maven-antrun-plugin write-provisioned-system-properties pre-integration-test run generate-data org.codehaus.mojo exec-maven-plugin generate-data pre-integration-test exec java ${project.build.directory} -classpath -DnumOfRealms=${numOfRealms} -DusersPerRealm=${usersPerRealm} -DclientsPerRealm=${clientsPerRealm} -DrealmRoles=${realmRoles} -DrealmRolesPerUser=${realmRolesPerUser} -DclientRolesPerUser=${clientRolesPerUser} -DclientRolesPerClient=${clientRolesPerClient} -DhashIterations=${hashIterations} org.keycloak.performance.RealmsConfigurationBuilder load-data pre-integration-test exec java ${project.build.directory} -classpath -DnumOfWorkers=${numOfWorkers} org.keycloak.performance.RealmsConfigurationLoader benchmark-realms.json maven-antrun-plugin write-imported-dataset-properties pre-integration-test run export-dump-after-generation false export-dump org.codehaus.mojo exec-maven-plugin export-dump pre-integration-test exec ${project.basedir}/.. ./prepare-dump.sh ${dataset} import-dump org.codehaus.mojo exec-maven-plugin load-dump pre-integration-test exec ${project.basedir}/.. ./load-dump.sh ${dataset} restart-keycloak pre-integration-test exec ${project.basedir}/.. docker-compose -f ${compose.file} restart ${compose.restart.params} healthcheck pre-integration-test exec ./healthcheck.sh ${project.basedir}/.. ${keycloak.server.uris} test false teardown -v org.codehaus.mojo exec-maven-plugin docker-compose-down post-integration-test exec ${project.basedir}/.. docker-compose -f ${compose.file} down ${volumes.arg} ${project.version} keep-data monitoring org.codehaus.mojo exec-maven-plugin monitoring-docker-compose-up pre-integration-test exec ${project.basedir}/.. docker-compose -f docker-compose-monitoring.yml up -d --build ${monitoring.docker.cpuset} monitoring-off org.codehaus.mojo exec-maven-plugin monitoring-docker-compose-down post-integration-test exec ${project.basedir}/.. docker-compose -f docker-compose-monitoring.yml down ${monitoring.volumes.arg} delete-monitoring-data -v