Image du projet 'Connecteur LDAP' téléversée
  1. Connecteur LDAP
  2. LDAP-57

Performance du calcul des groupes dynamiques

    XMLWordImprimable

Informations

    • Bug
    • Résolution: Non résolu
    • Majeur
    • master, branche 1.8
    • master, branche 1.7, branche 1.8

    Description

      Lors du calcul des groupes dynamiques d'un utilisateurs, le système charge la totalité des groupes dynamiques, puis réalise un appel LDAP pour comparer la liste des groupes de l'utilisateur à la liste des groupes dynamiques.

      Le problème se pose s'il y a plusieurs milliers de groupes.
      On va comparer les groupes de l'utilisateur aux groupes chargés depuis la BDD et cela autant de fois qu'il y a de site en SSO : sur une volumétie de 15000 groupes, on obtient des temps d'environ 2secondes pour les appels les plus rapides et de 8 secondes pour chaque appel de SSO (14 sites en SSO)

      Cela utilise beaucoup de mémoire : environ 50mo par utilisateur qui se connecte : si 10 utilisateurs se connectent parallèle, on va utiliser plusieurs centaines de Mo.

      L'inversion du test permettrait de gagner en performance (itérer sur les groupes de l'utilisateur et charger le groupe dynamique s'il existe : cela remplacerait les 15000 * x test en x appels SQL. Associé à un cache ehcache, on éliminerait le problème des x appels SQL.

      L'autre approche serait de mettre en cache la liste des groupes DSI : on n'aura plus qu'une seule version de la lise au lieu de n par utilisateur.

      Pièces jointes

        Activité

          Personnes

            Non attribuée Non attribuée
            frederic.rapin Frédéric RAPIN
            Votes:
            0 Voter pour ce ticket
            Gérer les observateurs:
            2 Démarre l'observation de ce ticket

            Dates

              Création:
              Mise à jour: