Projet

Général

Profil

Actions

Feature #12603

fermé

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

Ajouté par David Lesimple il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
Annuaire
Début:
22/09/2021
Echéance:
% réalisé:

100%

Temps estimé:
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.

Mis à jour par Yohann Chastagnier il y a plus de 2 ans

  • Statut changé de New à In progress...

Mis à jour par Yohann Chastagnier il y a plus de 2 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) :

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:

Mis à jour par Miguel Moquillon il y a plus de 2 ans

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Miguel Moquillon il y a plus de 2 ans

  • Statut changé de Integration in progress... à Closed

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

Actions

Formats disponibles : Atom PDF