keycloak / keycloak-benchmark

Keycloak Benchmark
https://www.keycloak.org/keycloak-benchmark/
Apache License 2.0
124 stars 66 forks source link

Dataset for organizations #857

Closed pedroigor closed 6 days ago

pedroigor commented 2 weeks ago

Closes #856

pedroigor commented 2 weeks ago

@martin-kanis @vmuzikar @sguilhen Please, let me know if you want to add more operations/settings when provisioning organizations.

I tried to start with the bare minimum to start working on the scalability of groups and identity providers. For the latter, it is already possible to see how much identity providers degrade performance when rendering login pages.

martin-kanis commented 1 week ago

@pedroigor With the latest version and Keycloak 25, I'm getting

Caused by: java.lang.NoSuchMethodError: 'org.keycloak.models.OrganizationModel org.keycloak.organization.OrganizationProvider.create(java.lang.String, java.lang.String)'
        at org.keycloak.benchmark.dataset.organization.OrganizationProvisioner.createOrganization(OrganizationProvisioner.java:165)
        at org.keycloak.benchmark.dataset.organization.OrganizationProvisioner.lambda$createOrganizations$0(OrganizationProvisioner.java:134)
        at org.keycloak.models.utils.KeycloakModelUtils.lambda$runJobInTransaction$1(KeycloakModelUtils.java:263)
        at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransactionWithResult(KeycloakModelUtils.java:386)
        at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:262)
        at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransactionWithTimeout(KeycloakModelUtils.java:407)
        at org.keycloak.benchmark.dataset.ExecutorHelper.lambda$addTaskRunningInTransaction$0(ExecutorHelper.java:58)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

when running /realms/realm-0/dataset/orgs/create?count=2000&unmanaged-members-count=500&identity-providers-count=10 Am I doing something wrong?