-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 7.0.0
-
Fix Version/s: 7.0.0
-
Component/s: Module - Managed Objects, Module - Relationships, Performance
-
Labels:
-
Environment:IDM master runs on a CentOS 7, java 11, MySQL as repo
When jason vincent and I check Jenkins test results for his PR, we noticed about 10% response time or throughput degradation when creating managed users with roles in master:
With older master build e40e29c, we have the following Gatling output:
> request count 27696 (OK=27696 KO=0 ) > min response time 181 (OK=181 KO=- ) > max response time 562 (OK=562 KO=- ) > mean response time 325 (OK=325 KO=- ) > std deviation 26 (OK=26 KO=- ) > response time 50th percentile 322 (OK=322 KO=- ) > response time 95th percentile 368 (OK=368 KO=- ) > response time 99th percentile 403 (OK=403 KO=- ) > response time 99.9th percentile 506 (OK=506 KO=- ) > mean requests/sec 92.013 (OK=92.013 KO=- ) ---- Response Time Distribution ------------------------------------------------ > t < 800 ms 27696 (100%) > 800 ms < t < 1200 ms 0 ( 0%) > t > 1200 ms 0 ( 0%) > failed 0 ( 0%)
with latest master, we have the following Gatling output:
> request count 24893 (OK=24893 KO=0 ) > min response time 164 (OK=164 KO=- ) > max response time 1018 (OK=1018 KO=- ) > mean response time 361 (OK=361 KO=- ) > std deviation 28 (OK=28 KO=- ) > response time 50th percentile 359 (OK=359 KO=- ) > response time 95th percentile 404 (OK=404 KO=- ) > response time 99th percentile 435 (OK=435 KO=- ) > response time 99.9th percentile 536 (OK=536 KO=- ) > mean requests/sec 82.701 (OK=82.701 KO=- ) ---- Response Time Distribution ------------------------------------------------ > t < 800 ms 24886 (100%) > 800 ms < t < 1200 ms 7 ( 0%) > t > 1200 ms 0 ( 0%) > failed 0 ( 0%)
To reproduce the problem using pyforge:
1. set IDM and stress parameters in pyforge config:
STRESS_TEST_CONCURRENCY : "30", STRESS_TEST_DURATION : "300", OPENIDM_VERSION : "7.0.0-SNAPSHOT", OPENIDM_JAVA_HOME : "/usr/java/jdk11", OPENIDM_REPO_TYPE : "mysql", STRESS_PRELOAD_USERS : "20", STRESS_PRELOAD_DURATION : "300", STRESS_ROLES_PER_USER : "10", STRESS_NUMBER_OF_ROLES : "80", STRESS_NUMBER_OF_ASSIGNMENTS : "1", STRESS_ASSIGNMENTS_PER_ROLE : "1", STRESS_POSTALCODE_NULL_RECORDS : "0", OPENIDM_JAVA_ARGS : "-Xms6g -Xmx6g", PRINT_GC_DETAILS : "True", OPENIDM_ENABLE_JETTY_CONFIG : "False", OPENIDM_ENABLE_METRICS : "False",
2. Run test as:
run-pybot.py -v -c perf -s relationship.CreateManUsersWithRolesManager OpenIDM
- is required by
-
OPENIDM-13923 Update metrics docs (and describe new table) for mega query changes
-
- Closed
-
-
OPENIDM-14047 DAF PATCH for relationships is denied for add and does not complete for remove
-
- Closed
-