Feature #12603
ferméAmélioration des performances lors de l'affichage de l'annuaire
100%
Description
Actuellement, à chaque bloc utilisateur de type LDAP, une authentification à l'annuaire LDAP est effectuée.
Si les serveurs DC Active Directory ne sont pas très réactifs sur ce point, cela pénalise grandement l'affichage de l'annuaire principal, de l'ordre de 5" à 30".
L'objectif de cette évolution est d'optimiser le nombre d'authentifications à l'annuaire LDAP.
Mis à jour par Yohann Chastagnier il y a environ 3 ans
- Statut changé de New à In progress...
Mis à jour par Yohann Chastagnier il y a environ 3 ans
- Statut changé de In progress... à Resolved
- % réalisé changé de 0 à 100
Les performances de l'affichage de l'annuaire ont été améliorées, notamment pour les domaines LDAP.
Ces améliorations découlent de travaux réalisés en 2 étapes.
La première étape, la plus conséquente, a été d'implémenter dans l'API Domain Driver
la possibilité de récupérer dans un domaine plusieurs utilisateurs en une seule requête (au lieu de 1 requête par utilisateur).
La seconde, dans la fonctionnalité de l'annuaire, a été de mettre en place un cache dédié à la récupération des informations des utilisateurs dans les domaines. Cache qui s'appuie du coup sur les travaux réalisés dans la première étape.
A titre indicatif, dans l'annuaire, les mesures suivantes ont été réalisées :- avant optimisation 1008 utilisateurs, 1008 connexions LDAP, 1 requête par utilisateur
Fetching 1008 UserFull instances in 00:00:56.758
Fetching 1008 UserFull instances in 00:00:59.725
Fetching 1008 UserFull instances in 00:01:00.460
- après avoir mis en place une seule connexion pour tous les utilisateurs au lieu de 1 pour chacun 1008 utilisateurs, 1 connexion LDAP, 1 requête par utilisateur
Fetching 1008 UserFull instances in 00:00:24.261
Fetching 1008 UserFull instances in 00:00:24.249
Fetching 1008 UserFull instances in 00:00:24.208
- optimisations terminées 1008 utilisateurs, 1 seule connexion, 3 requêtes en tout (pour éviter des blocages réseaux, les données sont récupérées par bloc de 500 utilisateurs) :
PRs:Fetching 1008 UserFull instances in 00:00:02.759
Fetching 1008 UserFull instances in 00:00:02.848
Fetching 1008 UserFull instances in 00:00:02.839
- 6.2.x : https://github.com/Silverpeas/Silverpeas-Core/pull/1167
- 6.3.x : https://github.com/Silverpeas/Silverpeas-Core/pull/1168 (pas de modification de code avec la 6.2.x, mais une classe modifiée dans les tests n'existe pas en 6.3.x)
Mis à jour par Miguel Moquillon il y a environ 3 ans
- Statut changé de Resolved à Integration in progress...
Mis à jour par Miguel Moquillon il y a environ 3 ans
- Statut changé de Integration in progress... à Closed
Intégré dans les branches 6.2.x et master