Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-4421

SessionDocumentService can be a performance bottleneck

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Duplicate
    • Affects Version/s: 1.0.2.1
    • Fix Version/s: Not version specific
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-7009Profile the view process (complete request/response) for bottlenecks
      KULRICE-9424Profile script execution to identify top bottlenecks
      KULRICE-8962CloneUtils deepCloneObject Performance Improvement
      KULRICE-14090Make improvements to KIM integration performance
      KULRICE-9148Disable SessionDocumentService in the KNS
      KULRICE-9230KNS should not use the KRAD SessionDocumentService
      KULRICE-8946A few small things that can improve KRAD performance
      KULRICE-9895Install Jenkins Performance Plugin
      KULRICE-10178Remove SessionDocumentService from KRAD
      KULRICE-8431Performance: perform expression function setup only once per lifecycle
    • Rice Module:
      KNS
    • Application Requirement:
      KFS, KC, Rice

      Description

      It appears that the SessionDocumentService is a major source of performance issues, especially for large documents. For every request the user makes on the document, the entire document is serialized and transferred to and from the database.

      Some of the performance may be due to the size of the connection pool, but across two servers it should have been sufficient for the number of users who were testing. It really seemed to have to do with the sheer amount of data being transferred. On some maintenance documents (which is all we were testing), the serialized object graph was over a megabyte.

      By stubbing out the service to remove the feature altogether, we were able to greatly improve server performance. That may not be the ultimate solution, but it meets UCDs needs at the moment.

      Another option would be to use a shared file system for such a store, since that would be faster to access than via the database connections.

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Jonathan Keller
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel