Performance on Keycloak version 5.0

by sunick   Last Updated June 12, 2019 08:01 AM

I have done some load testing against Keycloak v5.0 since we are trying to use Keycloak as SSO for our project. However the performance is quite far lower than we expect, we run Keycloak in a 12c and 24g memory vm, and the highest rps is only around 70 rps,so I am wondering any tunning can help to increate the performance?

I have tested it with this command ab -T 'application/x-www-form-urlencoded' -n 100000 -c 10000 -p post.data http://192.168.135.92:8080/auth/realms/master/protocol/openid-connect/token and locust, script as below:

from locust import HttpLocust, TaskSet
import requests
import json
import time

def get_token(l):
    l.client.post("http://192.168.135.92:8080/auth/realms/test/protocol/openid-connect/token", {"client_id": "admin-cli", "username": "test", "password": "password", "grant_type": "password"}, headers={"Connection": "close"})

def get_users(l):
    requests.adapters.DEFAULT_RETRIES = 5
    r =     requests.post("http://192.168.135.92:8080/auth/realms/master/protocol/openid-connect/token", data= {"client_id": "admin-cli", "username": "admin", "password": "password", "grant_type": "password"}, headers={"Connection": "close"}).text
    h =  {"Authorization": "Bearer "+json.loads(r)["access_token"], "Connection": "close"}
l.client.get("http://192.168.135.92:8080/auth/admin/realms/master/users", headers=h, verify=False)

class UserBehavior(TaskSet):
    tasks = {get_token: 1}

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
Tags : jboss


Related Questions


File is not showing in CMS

Updated May 08, 2017 10:01 AM

Jboss 7 upgrading

Updated February 20, 2018 11:01 AM

Keycloak failover issue

Updated November 20, 2018 16:01 PM

Using Orika Mapper in OSGI environment

Updated January 04, 2019 19:01 PM

Issue in JBOSS BPM Process Execution

Updated January 21, 2019 16:01 PM