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

Performance issue with basic provisioning role

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: OpenIDM 4.5.0, OpenIDM 5.0.0
    • Fix Version/s: OpenIDM 4.5.0, OpenIDM 5.0.0
    • Component/s: Performance
    • Labels:
    • Environment:
      IDM master and 4.5.0 branch builds runs on a CentOS with MySQL as repo. Java 7. Used Gatling to sends http requests to create users.

      Description

      W/ five basic roles w/o assignment configured, stress create managed users with the roles, the requests would timeout due to slow server(OpenIDM) response. attached is the gatling output which tries to create 60 managed users per second during a duration of 300 seconds. The data used to create roles are simply:

      {"name":"simple_role${i}" , "description":"Simple role${i}"}
      

      Seems with these simple provisioning role w/o assignment we are about 30% throughput compared to same test without roles.

      Profiling shows most of cpu time (90%) is spent in effectiveRoles.js and conditionalRoles,js. I can't profile the .js files to figure out more detail right now.

      To reproduce.
      Run QA stress test under pyforge:
      1. ./configure.py OpenIDM
      2. Change/set some parameters in config/config.cfg
      java_home =
      stress_tool_name = gatling
      num_users = 60
      duration = 300
      repo_type = mysql
      3. python -u run-pybot.py -c stress -i gatling -s idm.CrudManUsersWithRoles -t IDM_Managed_User_With_Roles_Create_Put OpenIDM

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dhogan Dirk Hogan
                Reporter:
                gary.williams Gary Williams
                QA Assignee:
                Tinghua.Xu
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: