1

We have OIM 11g server deployed over Weblogic and configured with Oracle 11g Database We have a large Users base of around 150k Users We have front-end application as OIM-SCIM client. Whenever a new user registers, the Client calls OIM-SCIM Create User call using dedicated Admin credentials. The Create User call is taking too long to respond (~40 sec).

We have created indexes over USR table wherever applicable but still not able to achieve good performance From logs, it is clear that OIM is retrieving all the users before inserting one

Any suggestions as to how to improve OIM-SCIM performance?

oim-diaganostic logs

    [2017-09-26T08:22:55.306+05:30] [oim_server1] [NOTIFICATION] [] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 5e09005b7f67b5f4:-3946d497:15eb9006a07:-8000-000000000002121a,0] [APP: oim#11.1.2.0.0] [DSID: 0000Luw6W2F3z04_vTL6iX1PmFNT00000H]  NOPAGING:: Search Criteria: arg1 = (arg1 = (Status) NOT_EQUAL arg2 = (Deleted)) AND arg2 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (arg1 = (usr_key) IN arg2 = ([1, 153, 169, 178, 179, 180, 185, 209, 218, 220, 225, 231, 236, 254, 260, 268, 274, 282, 290, 292, 441, 443, 455, 472, 473, 474, 487, 503, 518, 528, 534, 538, 543, 549, 556, 560, 563, 567, 568, 573, 583, 587, 588, 601, 602, 610, 611, 613, 616, 627, 630, 631, 632, 635, 649, 669, 679, 702, 298, 301, 302, 305, 318, 324, 329, 331, 340, 343, 353, 357, 367, 373, 386, and many more.... 8499, 18508, 18517, 18523, 18535, 18547, 18561, 18563, 18571, 18577, 18579, 18614, 18663, 18671, 18687, 18699, 18709, 18710, 18731, 18745]))) OR arg2 = (arg1 = (usr_key) IN arg2 = ([18782, 18788, 18807, 19932, 19935, 19943, 19960, 19964]))) AND arg2 = (arg1 = (usr_key) EQUAL arg2 = (*)))
[2017-09-26T08:22:55.308+05:30] [oim_server1] [NOTIFICATION] [] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 5e09005b7f67b5f4:-3946d497:15eb9006a07:-8000-000000000002121a,0] [APP: oim#11.1.2.0.0] [DSID: 0000Luw6W2F3z04_vTL6iX1PmFNT00000H]  NOPAGING:: PAGING_LIMIT system property = 500
[2017-09-26T08:22:55.308+05:30] [oim_server1] [NOTIFICATION] [] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 5e09005b7f67b5f4:-3946d497:15eb9006a07:-8000-000000000002121a,0] [APP: oim#11.1.2.0.0] [DSID: 0000Luw6W2F3z04_vTL6iX1PmFNT00000H] Searching for users with the specified criteria.
[2017-09-26T08:23:44.472+05:30] [oim_server1] [NOTIFICATION] [] [oracle.iam.configservice.impl] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 5e09005b7f67b5f4:-3946d497:15eb9006a07:-8000-000000000002121a,0] [APP: oim#11.1.2.0.0] [DSID: 0000Luw6W2F3z04_vTL6iX1PmFNT00000H] oracle.iam.configservice.internal.impl.ConfigManagerInternalImpl getAttributeusr_key
[2017-09-26T08:23:44.473+05:30] [oim_server1] [NOTIFICATION] [] [oracle.iam.configservice.impl] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 5e09005b7f67b5f4:-3946d497:15eb9006a07:-8000-000000000002121a,0] [APP: oim#11.1.2.0.0] [DSID: 0000Luw6W2F3z04_vTL6iX1PmFNT00000H] oracle.iam.configservice.internal.impl.ConfigManagerInternalImpl getAttributeExiting

1 Answers1

1

I think there is a performance tuning guide from Oracle, which you may want to check first.

There are multiple reasons why it may take long time to finish. Check if there is any difference in creating a user through OIM UI first, if it takes the same time, and all the things from the guide are adjusted, next think I'd do, check handlers which are attached to User Create process. They may take a while to complete.

Philipp Grigoryev
  • 1,985
  • 3
  • 17
  • 23
  • 1
    @Phillip, We have followed almost everything from performance tuning guide but still problem is not resolved. From OIM UI, the Users are pre-loaded when we open identity console, therefore it is taking less time in creating new User By using SCIM, a Search Criteria query is executed which is taking 25-30s to complete, I have updated logs in question. – Shivam Mathur Sep 26 '17 at 03:03
  • 1
    Well, it's really strange thing. I haven't had a chance to work with SCIM yet, but it doesn't look right anyway. Are you sure you don't have something weird in your front-end application which executes that gigantic search? – Philipp Grigoryev Sep 27 '17 at 00:59
  • 1
    we are currently in testing mode and executing the SCIM Create User calls from SOAP UI Client. This behavior is turning out to be a huge blocker for our Application. – Shivam Mathur Sep 27 '17 at 04:17
  • @Shivam, was your problem resolved? Even i am facing performance issues.My case is little different but issue is same.I have to make a db call from my code to check SOD conflict for entitlements since there is no API available.And there are nCr combinations that we have to check ,if n=100,r=2,for 100C2 combinations OIM takes too long to respond and once it even got crashed. If you had found workaround ,could you please shed some light? – ps2090 Oct 25 '17 at 05:46
  • @PriyaSharma We found a workaround, we were using /Users API to create User which was taking too long. Instead of that we user OIM Self Registration (/Me) API, that worked like charm – Shivam Mathur Nov 14 '17 at 18:35