Project

General

Profile

Actions

Feature #12603

closed

Amélioration des performances lors de l'affichage de l'annuaire

Added by David Lesimple 4 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Category:
Annuaire
Start date:
09/22/2021
Due date:
% Done:

100%

Estimated time:
Livraison en TEST:
Livraison en PROD:

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.

Actions #2

Updated by Yohann Chastagnier 4 months ago

  • Status changed from New to In progress...
Actions #3

Updated by Yohann Chastagnier 4 months ago

  • Status changed from In progress... to Resolved
  • % Done changed from 0 to 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) :

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

PRs:
Actions #4

Updated by Miguel Moquillon 4 months ago

  • Status changed from Resolved to Integration in progress...
Actions #5

Updated by Miguel Moquillon 4 months ago

  • Status changed from Integration in progress... to Closed

Intégré dans les branches 6.2.x et master

Actions

Also available in: Atom PDF