Keycloak v25 : performances améliorées
En juin 2024, Keycloak a dévoilé sa 25e itération. Cette version, détaillée dans la documentation officielle, apporte un algorithme avancé et une itération améliorée pour le hachage des mots de passe. L'algorithme de mot de passe précédent (PBKDF2) entraînait des pertes de performances importantes, comme nous l'avons expliqué dans notre article sur Keycloak v24. Afin d'améliorer les performances perdues avec la version précédente, le mode de hachage a été modifié à l'aide d'Argon2. Argon2 permet d'obtenir une meilleure sécurité, avec un temps CPU presque identique à celui des versions précédentes de Keycloak.
Comme nous l'avons fait dans notre article précédent, pour la version v24, nous avons effectué des tests de performance afin de nous assurer que les problèmes de performance que nous avions signalés pour la v24 sont désormais corrigés grâce à ce nouvel algorithme, comme décrit dans la note de mise à jour Keycloak.
Nos tests sont les suivants :
- Création de 1 000 utilisateurs sans aucune concurrence.
- Mise en œuvre de scénarios utilisateur impliquant l'authentification, la récupération d'informations avec le jeton et l'introspection du jeton sous des niveaux d'activité élevés.
Création de 1 000 utilisateurs
Nous allons créer 1 000 utilisateurs sans concurrence, ce qui nous aidera à vérifier le comportement de notre instance avec l'algorithme Argon2.


Création de 1 000 utilisateurs
Pour rappel, voici les durées que nous avons indiquées dans l'article précédent pour la création d'utilisateurs :
- KC 23 : 6 min
- KC24 : 19 min
- KC 24 avec un algorithme de hachage différent : 10 min
Avec Argon2, la création d'un utilisateur prend environ 6 minutes, ce qui signifie que nous sommes revenus aux durées de la v23 avec ce nouvel algorithme. De plus, la v25 nous offre un aperçu d'une fonctionnalité qui conserve les sessions utilisateur dans la base de données. Cela nous permettra de conserver les sessions utilisateur après les futures migrations. Essayons de créer 1 000 utilisateurs avec cet aperçu de fonctionnalité.

Avec cette fonctionnalité, la création prend 8 minutes. Ce qui reste bien plus rapide que la version v24.
Ces tests confirment qu'Argon2 répond parfaitement au problème soulevé dans la version précédente de Keycloak. La création de 1 000 utilisateurs, même avec la persistance des données, est bien plus efficace qu'avec la version v24 (même en changeant la méthode de hachage).
Tests de performance
Nous avons effectué des tests sur un cluster Keycloak v25 très actif avec le scénario décrit ci-dessus. Sur les deux instances, nous avons observé plusieurs indicateurs, notamment l'utilisation du processeur et le temps de réponse :
- CPU kc1 : ~85 %
- CPU kc2 : ~60 %
- Temps de réponse : ~150 ms



Malgré une activité élevée, le cluster conserve d'excellentes performances. À titre de comparaison, reportez-vous à l'article que nous avons publié sur la version 24, où l'utilisation du processeur était nettement plus élevée avec seulement un tiers de l'activité.
Comme indiqué dans les notes de mise à jour de Keycloak, Argon2 résout les problèmes de performances identifiés dans la version 24, comme évoqué dans l'article susmentionné. Même avec l'ajout de la fonctionnalité de persistance de session en préversion, qui est un peu plus gourmande en ressources, nous avons observé les métriques suivantes :
- Meilleur temps de réponse que la v24
- Utilisation du processeur inférieure à celle de la v24
Vous souhaitez mettre à niveau votre Keycloak ?
Consultez d'abord notre documentation pour connaître toutes les conditions préalables à cette mise à niveau, puis contactez notre équipe d'assistance pour procéder à la mise à niveau.
All for predictable pricing, without surprise
Transparent pricing you can trust, no hidden fees. Easily plan your budget with our clear cost calculator and predictability.