Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-21712

Fix misc contentions on document creation

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 8.10
    • Fix Version/s: 7.10-HF23, 8.10-HF03, 9.1
    • Component/s: Core

      Description

      On high concurrency/throughput of document creation (>10k doc/s) there are multiple contentions:
      1. DBSDocumentState.get on small State is slow because of its internal representation as Array, most of access is on ecm:id and ecm:parentId -> use dedicated variables.
      2. State uses some String.intern for its keys to prevent object duplication it mights save memory but it has a cost when looking a flame -> may be better to le the GC do its work
      3. JavaTypes.getClass is called for each setPropertyValue, this method create contention on hashtable
      4. The blob dispatcher ask for the list of repository on each blob for blobinfo -> should be cached
      5. ComponentManagement.getComponent() called on each create document

        Attachments

        1. after-optims.png
          after-optims.png
          50 kB
        2. before-optims.png
          before-optims.png
          51 kB
        3. BlobDispatcher.png
          BlobDispatcher.png
          31 kB
        4. ComponentManagement.png
          ComponentManagement.png
          40 kB
        5. flame-StateGet.png
          flame-StateGet.png
          38 kB
        6. JavaTypes_getClass.png
          JavaTypes_getClass.png
          59 kB
        7. StringIntern.png
          StringIntern.png
          16 kB

          Activity

            People

            • 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 - 0 minutes
                0m
                Logged:
                Time Spent - 2 days
                2d