Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-7789

Performance Degradation on Servers with Client Subscription Introduced in GEODE-7358

    XMLWordPrintableJSON

Details

    Description

      On clusters with pool subscriptions enabled, a performance degradation was introduced by GEODE-7358 for regular cache operations.
      The InternalDistributedMember.getDurableClientAttributes() method is indirectly invoked by the methods hashCode() and equals() within the ClientProxyMembershipID class, which is stored in several Java Collection classes across the product (including different types of Map instances).
      Prior to GEODE-7358 the DurableClientAttributes class instance was cached within the NetMember class, but now is created every time the method is invoked, resulting in a performance penalty for regular cache operations on servers with subscription enabled (not only extra garbage, the constructor itself also does some string manipulation).
      Using one of our internal testing scenarios and a java profiler we detected that we create ~24 instances of DurableClientAttributes using Geode 1.10, but ~ 404.037.243 instances using the latest develop branch (screenshots attached).

      Attachments

        1. Geode_1.10_Count.png
          126 kB
          Juan Ramos
        2. Geode_Develop_Count.png
          101 kB
          Juan Ramos

        Issue Links

          Activity

            People

              echobravo Ernest Burghardt
              jjramos Juan Ramos
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h