Affects Version/s: OpenIDM 4.5.0, OpenIDM 5.0.0
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.
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:
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.
Run QA stress test under pyforge:
1. ./configure.py OpenIDM
2. Change/set some parameters in config/config.cfg
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