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

Performance du calcul des groupes dynamiques

    XMLWordImprimable

    Informations

    • Type: Bug
    • Etat: Ouverte
    • Priorité: Majeur
    • Résolution: Non résolu
    • Affecte la/les version(s): master, branche 1.7, branche 1.8
    • Version(s) corrigée(s): master, branche 1.8
    • Etiquettes:

      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 groupe, 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 utilisatateur.

        Pièces jointes

          Activité

            Personnes

            • Responsable:
              Non attribuée
              Rapporteur:
              frederic.rapin Frédéric RAPIN
            • Votes:
              0 Voter pour cette demande
              Gérer les observateurs:
              2 Commencer l'observation de cette demande

              Dates

              • Création:
                Mise à jour: