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

Large ContentViews are abnormally slow

    XMLWordPrintable

    Details

    • Impact type:
      Configuration Change
    • Upgrade notes:
      Hide

      Widget templates used in listings should assume that field will not be exposed yet at build time: c:set, c:if tags should be replaced by other JSF tags using the "rendered" attribute, resolved at render time.

      The following property (contribution to the ConfigurationService) can be set to false to disable corresponding optimizations: "nuxeo.jsf.listings.useRepeatRenderTime".
      To migrate the behaviour, check upgrade documentation at https://doc.nuxeo.com/x/VILBAQ

      Show
      Widget templates used in listings should assume that field will not be exposed yet at build time: c:set, c:if tags should be replaced by other JSF tags using the "rendered" attribute, resolved at render time. The following property (contribution to the ConfigurationService) can be set to false to disable corresponding optimizations: "nuxeo.jsf.listings.useRepeatRenderTime". To migrate the behaviour, check upgrade documentation at https://doc.nuxeo.com/x/VILBAQ
    • Team:
      AT
    • Sprint:
      nxAT Sprint 8.2.1
    • Story Points:
      5

      Description

      Having ContentViews displaying a large number of items using JSF2 rendering system can not be very efficient :

      • component tree is very large
      • a lot of EL expressions have to be evaluated
      • a lot of nested facelet rendering

      However, the rendering time should grow about linearly with the numbers of items, but this is not the case :

      On a stock Nuxeo 7.3 Rendering a document_content :

      • with 20 docs : about 1 s
      • with 100 docs : about 3s
      • with 1000 docs : more than 40s

      This clearly shows that some part of the rendering system does not scale linearly.

        Attachments

        1. AliasTagHandlerLogger.diff
          4 kB
          Thierry Delprat
        2. facetlets.png
          146 kB
          Thierry Delprat
        3. facetlets2.png
          133 kB
          Thierry Delprat
        4. getComponentAbsoluteId.diff
          4 kB
          Thierry Delprat
        5. getComponentAbsoluteId.png
          141 kB
          Thierry Delprat
        6. snapshot-1435011125327-cpu-calltree.nps
          20 kB
          Thierry Delprat

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 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 - 1 hour
                  1h