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

High response times in CRUD on managed users when JMS audit event handler is used.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 6.5.0, 7.0.0
    • Fix Version/s: None
    • Component/s: Module - Audit, Performance
    • Environment:
      IDM 7.0.0 master build or 6.5.0 RC runs on a CentOS7, Java 8,
    • Story Points:
      3

      Description

      Mean response times for CRUD operations on managed users using JMS audit event handler are high, and the response times in the master or 6.5.0 are much higher than in 6.0.0.4.
      Between 6.5.0 and 6.0.0, with dispatch rate as 300 users/second over 300 seconds, we have the following mean response times(average from several tests)

                Create PUT   Read  Update PUT  Delete   Create POST
      6.5.0          944	12	    151	      1343	  101
      6.0.0.4       374	8	    27	       40	   56
      

      Attached are metrics for creating managed users with PUT between 6.5.0 and 6.0.0.4 and other related info. The corresponding Gatling output as below:

      With 6.5.0
      ---- Global Information --------------------------------------------------------
      > request count                                      90000 (OK=90000  KO=0     )
      > min response time                                     22 (OK=22     KO=-     )
      > max response time                                   7670 (OK=7670   KO=-     )
      > mean response time                                  1124 (OK=1124   KO=-     )
      > std deviation                                       2000 (OK=2000   KO=-     )
      > response time 50th percentile                        104 (OK=104    KO=-     )
      > response time 95th percentile                       6378 (OK=6378   KO=-     )
      > response time 99th percentile                       6852 (OK=6852   KO=-     )
      > response time 99.9th percentile                     7185 (OK=7185   KO=-     )
      > mean requests/sec                                    300 (OK=300    KO=-     )
      ---- Response Time Distribution ------------------------------------------------
      > t < 800 ms                                         66217 ( 74%)
      > 800 ms < t < 1200 ms                                3302 (  4%)
      > t > 1200 ms                                        20481 ( 23%)
      > failed                                                 0 (  0%)
      
      With 6.0.0.4
      ---- Global Information --------------------------------------------------------
      > request count                                      90000 (OK=90000  KO=0     )
      > min response time                                     19 (OK=19     KO=-     )
      > max response time                                   4999 (OK=4999   KO=-     )
      > mean response time                                   347 (OK=347    KO=-     )
      > std deviation                                        923 (OK=923    KO=-     )
      > response time 50th percentile                         43 (OK=43     KO=-     )
      > response time 95th percentile                       3195 (OK=3193   KO=-     )
      > response time 99th percentile                       3813 (OK=3813   KO=-     )
      > response time 99.9th percentile                     4198 (OK=4198   KO=-     )
      > mean requests/sec                                    300 (OK=300    KO=-     )
      ---- Response Time Distribution ------------------------------------------------
      > t < 800 ms                                         80697 ( 90%)
      > 800 ms < t < 1200 ms                                 527 (  1%)
      > t > 1200 ms                                         8776 ( 10%)
      > failed                                                 0 (  0%)
      

      To reproduce using Pyforge:
      In pyforge/config/config.cfg, change
      num_users as 300 and duration as 300 under Stress
      and run test
      python3 -u run-pybot.py -n -c stress -i gatling -s *CrudJMS -t IDM_Managed_User_Create_Put OpenIDM
      and check results/latest/debug.txt for Gatling output.

        Attachments

        1. activemq.log.6.5.0
          4 kB
        2. idm-metrics.6.0.0
          32 kB
        3. idm-metrics.6.5.0
          47 kB
        4. openidm0.log.0-6.5.0
          5.00 MB

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved: