Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-10618

With external DJ, query managed users with returning link expansion on manger is significantly slower than returning other relationships

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: OpenIDM 6.0.0
    • Fix Version/s: OpenIDM 6.0.0
    • Labels:
    • Environment:
      IDM 6.0.0 master runs on a CentOS 7, external DJ as repo, java 8.

      Description

      Query managed users with relationship test with external DJ as repo shows the following performance data. With a setup of 10K managed users, and each user has one role from five roles and one manager from five managers,

      Querying 10000 managed users returning whole object without any link expansion took 4.00 seconds
      Querying 10000 managed users returning whole object with roles took 36.28 seconds
      Querying 10000 managed users with manager returning whole object with manager took 1292.30 seconds
      Querying 10000 managed users returning whole object with reports took 26.79 secondsQuerying 10000 managed users returning whole object with authZ roles took 26.92 seconds
      

      Note that the time spent on returning manager link expansion is 1292 30 seconds which is much higher than the time spent returning link expansions on other relationship type(e.g. roles 36.28 seconds), we should investigate why we have this abnormality.

      Comparing with MySQL after relationship performance improvement, where returning manager link expansion only needs similar time as other relationship types.
      With the same setup of users, roles and managers, and MySQL as repo we have

      Querying 10000 managed users returning whole object without any link expansion took 1.78 seconds
      Querying 10000 managed users returning whole object with roles took 2.46 seconds
      Querying 10000 managed users with manager returning whole object with manager took 2.93 seconds
      Querying 10000 managed users returning whole object with reports took 1.86 seconds
      Querying 10000 managed users returning whole object with authZ roles took 2.40 seconds
      

      To reproduce using Pyforge:
      1. Change config/config.cfg to have appropriate stress level, (e.g. total user 10K, the test itself use a page size 100 for the query)
      2. Run the following test:

      python -u run-pybot.py -c stress -i gatling -s *QueryManUsersWithRelationships -t  query_managed_users_with_relationships OpenIDM
      

      After test finishes, check results/latest/debug.txt for result.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jim.mitchener Jim Mitchener
              Reporter:
              Tinghua.Xu Tinghua Xu
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: