Submitted by : 127.0.0.1 at: 2005-03-18T03:59:55+00:00 (12 years ago)
Name :
Category : Severity : Status :
Optional subject :  
Optional comment :

We're experiencing serious performance problems with ZWiki on our ATContentTypes? based Plone site with a VariableSchema? extension.

It appears that the subtopics mechanism results in a huge amount of object resolving, which might be less efficient with Archetypes based content (but this should be avoided in general)

Below a profile session (partially) of a single wiki page request:

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000   16.331   16.331 /usr/local/WWW/wth-zeo/wth-ivodev/Products/ZWiki/ZWikiPage.py:301(renderMidsectionIn)
        1    0.000    0.000   16.331   16.331 /usr/local/WWW/wth-zeo/wth-ivodev/Products/ZWiki/ZWikiPage.py:329(renderMidsection)
    972/1    0.216    0.000   16.331   16.331 /usr/local/WWW/wth-zeo/wth-ivodev/Products/ZWiki/OutlineSupport.py:498(subtopicsEnabled)
     1943    0.081    0.000   16.042    0.008 /usr/local/WWW/wth-zeo/wth-ivodev/Products/ZWiki/OutlineSupport.py:321(primaryParent)
     1945    0.072    0.000   15.436    0.008 /usr/local/WWW/wth-zeo/wth-ivodev/Products/ZWiki/ZWikiPage.py:1097(pageWithName)
     1951    0.259    0.000   14.777    0.008 /usr/local/WWW/wth-zeo/wth-ivodev/Products/ZWiki/ZWikiPage.py:1055(pageWithId)
     3901    0.095    0.000   14.208    0.004 /usr/local/WWW/wth-zeo/wth-ivodev/Products/Archetypes/BaseFolder.py:135(__getitem__)
     3901    0.424    0.000   14.113    0.004 /usr/local/WWW/wth-zeo/wth-ivodev/Products/Archetypes/BaseObject.py:347(__getitem__)
     3957    0.124    0.000   13.808    0.003 /usr/local/WWW/wth-zeo/wth-ivodev/Products/Archetypes/VariableSchemaSupport.py:81(Schema)
     3957    7.166    0.002   13.684    0.003 /usr/local/WWW/wth-zeo/wth-ivodev/Products/Archetypes/VariableSchemaSupport.py:90(getAndPrepareSchema)
   110774    1.999    0.000    2.899    0.000 /usr/local/WWW/wth-zeo/wth-ivodev/Products/Archetypes/Storage/__init__.py:35(__repr__)

As you can see, most time is spent in 3957 calls to getAndPrepareSchema.

Adding a show_subtopics=0 property to our portal removed the issue entirely (and subtopics as well) - pages then take 1 second instead of 17

-- ivo@amaze.nl


comments:

property change --simon, Fri, 18 Mar 2005 07:09:44 -0800 reply
Name: #1074 Subtopics serious performance killer on Plone => #1074 Subtopics serious performance killer on AT-based Plone

cleanup --Simon Michael, Fri, 18 Mar 2005 07:44:09 -0800 reply
Hi Ivo, I'm not yet clear on this. Have you tried /setupCatalog ?

I have -- Mon, 21 Mar 2005 05:13:05 -0800 reply
I have, the catalog was fine, setupCatalog does not make a difference

need more info --simon, Sun, 26 Feb 2006 14:36:33 -0800 reply
Still a problem with latest plone & zwiki ?

Please chat me about this or give more details, I'd like to know under what circumstances people would notice this. Also I'm not sure what "object resolving" looks like in the code. I doubt we can do without it, but you never know.

(property change) no more details available, reopen if you run into this --simon, Thu, 09 Mar 2006 17:51:54 -0800 reply
Status: open => closed