Uploaded image for project: 'Alfresco One Platform'
  1. Alfresco One Platform
  2. ACE-3327

Transactional cache statistics required for performance tuning

    Details

      Description

      After profiling public API calls in response to ACE-3241 it has become clear that we cannot say whether the server is optimally tuned, whether there are performance problems caused by full caches and so on.

      While we can see that there is a lot of time being spent in Hazelcast remote puts, we do not know if this is the result of a cache miss elsewhere for example.

      This issue suggests that we should implement cache statistics for transactional caches so that regardless of cache type (e.g. fully distributed or invalidating) we can observe the efficiency of the cache and see whether any tuning we perform has a positive or adverse impact on the caching.

      Requirements:

      1. All operation statistics are based around the shared cache wrapped by the transactional cache, not the transactional cache's own (threadlocal) cache/map.
      2. get operations
        1. timed (rolling average)
        2. count
        3. hit count
        4. miss count
        5. hit/miss ratio
      3. put operations
        1. timed (rolling average)
        2. count
      4. clear operations
        1. count - a clear is very bad for performance!
      5. Stats may be enabled/disabled on a per tx cache basis.

      Notes:

      1. Do all this in thread local for the current tx, then flush through to somewhere on commit/rollback, combine with 'global' cross-tx results.
      2. JMX access to be provided to the stats.
      3. Use nanosecond timings for accuracy/granularity of stats.
      4. The Apache class DescriptiveStatistics is likely to prove useful for implementation.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                closedissues Closed Issues
                Reporter:
                mward Matt Ward [X] (Inactive)
              • Votes:
                1 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 8 minutes
                  8m