Performance

Frank Poetzsch-Heffter <[email protected]>
Newsgroups gmane.comp.web.zope.german
Message-ID <[email protected]>
Hallo,

meine Plone 3.1.1 Seite ist definitiv zu langsam. Die data.fs ist
gepackt 4GB groß.

Die Cache Parameter zeigen nach meiner Meinung ordentliche Werte:

Total number of objects in the database                  873023
Total number of objects in memory from all caches    98420
Target number of objects in memory per cache          30000

Mit PTProfiler bekomme ich jedoch ungewöhnlich viele Funktionsaufrufe
(s.u.). Bei neu angelegten Plone-Instanzen bekomme ich etwa 350000.

Wenn ich die Inhalte in eine frische Plone-Instanz kopiere ist die
Seite spürbar schneller. Gibt es eine Idee, die alte Instanz zu retten
oder muss ich unter dem Verlust der Rechte die Inhalte in eine neue
Instanz kopieren?

Viele Grüße
 Frank
---------------------------------------------------------------------------------------

        9390881 function calls (8965422 primitive calls) in 47.689 CPU
seconds

  Ordered by: cumulative time
  List reduced from 1870 to 200 due to restriction <200>

  ncalls  tottime  percall  cumtime  percall filename:lineno(function)
       2    0.000    0.000   47.689   23.845 profile:0(profiler)
       2    0.000    0.000   47.689   23.845 profile:0(<function
publish_module at 0x7f332437b140>)
       2    0.000    0.000   47.689   23.845 Publish.py:392(publish_module)
       2    0.000    0.000   47.689   23.845
Publish.py:181(publish_module_standard)
       2    0.000    0.000   47.684   23.842 Publish.py:63(publish)
    66/2    0.001    0.000   47.395   23.697 Bindings.py:311(__call__)
    74/2    0.002    0.000   47.395   23.697 Bindings.py:331(_bindAndExec)
       2    0.000    0.000   47.393   23.697 FSPageTemplate.py:173(_exec)
       2    0.000    0.000   47.393   23.696 FSPageTemplate.py:146(pt_render)
    49/2    0.001    0.000   47.392   23.696
ProfilerPatch.py:71(__patched_render__)
    49/2    0.001    0.000   47.392   23.696 PageTemplate.py:86(pt_render)
    53/2    0.002    0.000   47.391   23.696 pagetemplate.py:104(pt_render)
    53/2    0.000    0.000   47.391   23.695 talinterpreter.py:267(__call__)
  1210/2    0.022    0.000   47.391   23.695 talinterpreter.py:331(interpret)
    12/2    0.000    0.000   47.391   23.695
talinterpreter.py:865(do_useMacro)
   394/2    0.002    0.000   47.386   23.693
talinterpreter.py:530(do_optTag_tal)
   290/2    0.002    0.000   47.386   23.693 talinterpreter.py:518(do_optTag)
   379/2    0.006    0.000   47.386   23.693 talinterpreter.py:510(no_tag)
 1650/214    0.012    0.000   47.343    0.221 tales.py:691(evaluate)
1809/1159    0.014    0.000   46.718    0.040
ProfilerPatch.py:19(__patched_call__)
1370/1006    0.007    0.000   46.535    0.046 expressions.py:214(__call__)
 1355/991    0.013    0.000   46.527    0.047 Expressions.py:144(_eval)
 1338/991    0.015    0.000   46.332    0.047 Expressions.py:108(render)
       1    0.000    0.000   46.131   46.131 mapply.py:32(mapply)
       1    0.000    0.000   46.131   46.131 Publish.py:41(call_object)
    43/1    0.000    0.000   46.131   46.131 :0(apply)
     502    0.004    0.000   45.921    0.091
talinterpreter.py:585(do_setLocal_tal)
   33/20    0.001    0.000   43.631    2.182
talinterpreter.py:918(do_defineSlot)
    12/7    0.000    0.000   43.453    6.208
talinterpreter.py:858(do_defineMacro)
 544/536    0.005    0.000   42.245    0.079 _api.py:106(queryMultiAdapter)
 544/536    0.004    0.000   42.240    0.079
registry.py:205(queryMultiAdapter)
 544/536    0.006    0.000   42.236    0.079
adapter.py:477(queryMultiAdapter)
      10    0.000    0.000   41.918    4.192 __init__.py:21(notify)
      10    0.000    0.000   41.918    4.192 event.py:24(dispatch)
   14/10    0.000    0.000   41.918    4.192 _api.py:124(subscribers)
   20/10    0.000    0.000   41.918    4.192 registry.py:289(subscribers)
   20/10    0.000    0.000   41.918    4.192 adapter.py:530(subscribers)
 325/319    0.002    0.000   41.904    0.131 _api.py:100(getMultiAdapter)
      39    0.001    0.000   41.722    1.070
ClassGen.py:49(generatedAccessor)
       6    0.000    0.000   41.715    6.953 __init__.py:27(render)
       6    0.000    0.000   41.715    6.952 __init__.py:12(notifyFieldEvent)
       6    0.000    0.000   41.712    6.952 meta.py:75(field_value)
       6    0.000    0.000   41.712    6.952 Field.py:1364(get)
       6    0.000    0.000   41.710    6.952 BaseUnit.py:75(transform)
       4    0.000    0.000   41.709   10.427 TransformEngine.py:91(convertTo)
       1    0.135    0.135   41.702   41.702 TransformEngine.py:315(_findPath)
 402657/1   20.762    0.000   41.448   41.448
TransformEngine.py:337(_getPaths)
 2791596    6.203    0.000    6.204    0.000 UserList.py:28(__getitem__)
  403004    2.677    0.000    6.005    0.000 UserDict.py:52(get)
 1880789    3.954    0.000    3.954    0.000 Transform.py:195(name)
  158/93    0.006    0.000    2.912    0.031 view.py:22(memogetter)
       2    0.000    0.000    2.861    1.431 ploneview.py:49(globalize)
       2    0.001    0.000    2.861    1.430 ploneview.py:83(_initializeData)
  402664    1.635    0.000    2.471    0.000 UserDict.py:34(items)
    4220    0.023    0.000    2.429    0.001 Connection.py:749(setstate)
  405644    1.680    0.000    2.413    0.000 UserDict.py:39(has_key)
    4220    0.071    0.000    2.405    0.001 Connection.py:769(_setstate)
      98    0.002    0.000    2.202    0.022 ZCatalog.py:654(searchResults)
      98    0.002    0.000    2.200    0.022 Catalog.py:723(searchResults)
      98    0.010    0.000    2.179    0.022 Catalog.py:443(search)
      19    0.000    0.000    2.169    0.114 patches.py:26(searchResults)
      19    0.000    0.000    2.167    0.114
CatalogTool.py:452(searchResults)
 387/168    0.002    0.000    1.797    0.011
talinterpreter.py:853(do_condition)
    4220    0.036    0.000    1.778    0.000 serialize.py:603(setGhostState)
    4220    0.043    0.000    1.727    0.000 serialize.py:593(getState)
   70/62    0.001    0.000    1.710    0.028 instance.py:32(memogetter)
   80/31    0.001    0.000    1.709    0.055
talinterpreter.py:744(do_insertStructure_tal)
  103/31    0.001    0.000    1.708    0.055
Expressions.py:222(evaluateStructure)
   30/20    0.001    0.000    1.701    0.085
providerexpression.py:13(__call__)
10089/8441    0.173    0.000    1.615    0.000 :0(load)
       2    0.000    0.000    1.595    0.798 ploneview.py:516(have_portlets)
       6    0.000    0.000    1.592    0.265 manager.py:64(portletsToShow)
       2    0.000    0.000    1.591    0.796 manager.py:47(visible)
       2    0.000    0.000    1.591    0.795 manager.py:98(_lazyLoadPortlets)
 358/230    0.002    0.000    1.562    0.007 :0(eval)
      76    0.001    0.000    1.510    0.020 Expression.py:40(__call__)
   47/27    0.002    0.000    1.483    0.055 PageTemplateFile.py:107(_exec)
      82    0.001    0.000    1.313    0.016 ZRPythonExpr.py:45(__call__)
      82    0.001    0.000    1.310    0.016 PythonExpr:1(<expression>)
   25/20    0.001    0.000    1.291    0.065 FSPythonScript.py:144(_exec)
   17/16    0.000    0.000    1.285    0.080 FSPythonScript.py:137(__call__)
       2    0.000    0.000    1.272    0.636 context.py:192(actions)
       2    0.000    0.000    1.272    0.636
ActionsTool.py:94(listFilteredActionsFor)
       1    0.000    0.000    1.265    1.265
monkey.py:9(zpublisher_exception_hook_wrapper)
       1    0.000    0.000    1.265    1.265
startup.py:146(zpublisher_exception_hook)
       1    0.000    0.000    1.265    1.265
SimpleItem.py:165(raise_standardErrorMessage)
       1    0.000    0.000    1.264    1.264 Script
(Python):1(standard_error_message)
       4    0.001    0.000    1.252    0.313
ActionsTool.py:44(listActionInfos)
   21/18    0.000    0.000    1.217    0.068 manager.py:79(render)
 492/434    0.003    0.000    1.196    0.003
ActionInformation.py:197(__getitem__)
       4    0.001    0.000    1.166    0.291
GroupDataTool.py:185(getGroupMemberIds)
  479811    1.156    0.000    1.156    0.000 :0(append)
       4    0.004    0.001    1.136    0.284
groupdata.py:241(getGroupMembers)
  417881    0.760    0.000    0.997    0.000 :0(has_key)
   31/24    0.001    0.000    0.969    0.040
talinterpreter.py:821(do_loop_tal)
  408610    0.949    0.000    0.949    0.000 :0(pop)
  404827    0.934    0.000    0.936    0.000 UserDict.py:17(__getitem__)
     263    0.004    0.000    0.913    0.003
PluggableAuthService.py:212(getUserById)
   10511    0.073    0.000    0.890    0.000
serialize.py:467(_persistent_load)
       1    0.000    0.000    0.884    0.884
browser.py:78(search_for_similar)
       1    0.000    0.000    0.850    0.850 navigation.py:129(available)
       1    0.000    0.000    0.850    0.850 navigation.py:193(getNavTree)
  404201    0.840    0.000    0.840    0.000 :0(items)
       1    0.000    0.000    0.833    0.833 navtree.py:36(buildFolderTree)
     253    0.020    0.000    0.753    0.003
PluggableAuthService.py:708(_findUser)
    5869    0.029    0.000    0.742    0.000 ClientStorage.py:720(load)
       7    0.001    0.000    0.735    0.105
LanguageIndex.py:168(_apply_index)
      14    0.496    0.035    0.732    0.052 LanguageIndex.py:282(_search)
    5869    0.071    0.000    0.712    0.000 ClientStorage.py:729(loadEx)
171409/168654    0.382    0.000    0.706    0.000 :0(get)
   17/14    0.000    0.000    0.687    0.049 manager.py:89(render)
    11/9    0.000    0.000    0.618    0.069 simpleviewclass.py:43(__call__)
    5869    0.082    0.000    0.615    0.000 cache.py:172(load)
      19    0.000    0.000    0.588    0.031 common.py:43(render)
     591    0.012    0.000    0.571    0.001 UnIndex.py:307(_apply_index)
     638    0.096    0.000    0.546    0.001 :0(union)
     254    0.020    0.000    0.514    0.002
property.py:151(getPropertiesForUser)
       6    0.000    0.000    0.501    0.083 manager.py:106(render)
    5869    0.077    0.000    0.497    0.000 cache.py:1000(access)
    1974    0.009    0.000    0.496    0.000 :0(lookup)
      91    0.003    0.000    0.489    0.005 adapter.py:455(_uncached_lookup)
 1896/151    0.260    0.000    0.484    0.003 adapter.py:602(_lookup)
    3693    0.031    0.000    0.458    0.000 DateTime.py:497(__init__)
    3693    0.180    0.000    0.427    0.000 DateTime.py:508(_parse_args)
    8799    0.085    0.000    0.399    0.000
serialize.py:481(load_persistent)
    1712    0.012    0.000    0.393    0.000 serialize.py:533(load_oid)
      31    0.000    0.000    0.391    0.013 tales.py:681(setRepeat)
       1    0.000    0.000    0.385    0.385 recent.py:59(available)
       1    0.000    0.000    0.385    0.385 recent.py:69(_data)
       6    0.001    0.000    0.383    0.064
BaseRegistry.py:823(getEvaluatedResources)
    5869    0.155    0.000    0.380    0.000 cache.py:606(fromFile)
    1650    0.044    0.000    0.378    0.000 Connection.py:198(get)
      44    0.001    0.000    0.351    0.008
BaseRegistry.py:483(evaluateExpression)
      19    0.000    0.000    0.330    0.017
DateRangeIndex.py:243(_apply_index)
      16    0.012    0.001    0.326    0.020 :0(multiunion)
      35    0.001    0.000    0.301    0.009 Lazy.py:140(__getitem__)
       2    0.000    0.000    0.293    0.146 styles.py:16(styles)
      30    0.001    0.000    0.286    0.010 Catalog.py:114(__getitem__)
     298    0.014    0.000    0.281    0.001
Traversable.py:122(unrestrictedTraverse)
       2    0.000    0.000    0.280    0.140 manager.py:72(render)
1402/1395    0.017    0.000    0.276    0.000 expressions.py:108(_eval)
       2    0.001    0.000    0.275    0.137 BaseRequest.py:337(traverse)
    6318    0.268    0.000    0.268    0.000 :0(__new__)
       1    0.000    0.000    0.265    0.265 events.py:66(available)
       1    0.000    0.000    0.265    0.265 events.py:91(_data)
 262/134    0.002    0.000    0.255    0.002 pythonexpr.py:56(__call__)
 276/148    0.001    0.000    0.250    0.002 <string>:0(?)
     787    0.028    0.000    0.250    0.000
talinterpreter.py:382(do_startTag)
     279    0.004    0.000    0.243    0.001 memberdata.py:57(wrapUser)
       4    0.000    0.000    0.230    0.057 patches.py:20(safe_render)
       1    0.000    0.000    0.229    0.229 view.py:40(menu)
       1    0.000    0.000    0.228    0.228 menu.py:48(getMenuItems)
  110593    0.225    0.000    0.225    0.000 LanguageIndex.py:303(<generator
expression>)
       4    0.000    0.000    0.225    0.056 BeforeTraverse.py:96(__call__)
108865/108860    0.224    0.000    0.224    0.000 :0(len)
       2    0.000    0.000    0.223    0.112
PortalObject.py:88(__before_publishing_traverse__)
       3    0.014    0.005    0.213    0.071 Catalog.py:549(sortResults)
     108    0.001    0.000    0.212    0.002
Traversable.py:299(restrictedTraverse)
    6153    0.022    0.000    0.209    0.000 :0(providedBy)
       2    0.000    0.000    0.203    0.101 event.py:30(objectEventNotify)
       2    0.000    0.000    0.201    0.100
CMFCatalogAware.py:277(dispatchToOpaqueItems)
       2    0.000    0.000    0.200    0.100
CMFCatalogAware.py:191(opaqueValues)
       2    0.003    0.002    0.200    0.100
CMFCatalogAware.py:154(opaqueItems)
      27    0.001    0.000    0.195    0.007 manager.py:88(update)
41923/41795    0.164    0.000    0.194    0.000 :0(getattr)
     435    0.008    0.000    0.193    0.000
talinterpreter.py:471(attrAction_tal)
   66/57    0.001    0.000    0.185    0.003 tales.py:586(compile)
    1317    0.028    0.000    0.184    0.000
PluginRegistry.py:120(listPlugins)
      22    0.000    0.000    0.177    0.008 ZRPythonExpr.py:30(__init__)
      22    0.000    0.000    0.177    0.008
RCompile.py:94(compile_restricted_eval)
      22    0.000    0.000    0.176    0.008
RCompile.py:68(compileAndTuplize)
      22    0.000    0.000    0.176    0.008 RCompile.py:62(compile)
     502    0.004    0.000    0.167    0.000 Expressions.py:226(evaluateText)
     263    0.008    0.000    0.150    0.001
PluggableAuthService.py:760(_verifyUser)
      19    0.000    0.000    0.145    0.008
ExtendedPathIndex.py:319(_apply_index)
       7    0.010    0.001    0.143    0.020 ExtendedPathIndex.py:166(search)
      55    0.001    0.000    0.131    0.002 namespace.py:37(namespaceLookup)
     188    0.003    0.000    0.130    0.001
Expressions.py:68(boboAwareZopeTraverse)
     254    0.023    0.000    0.126    0.000
property.py:116(_getDefaultValues)
      55    0.000    0.000    0.125    0.002 namespace.py:338(traverse)
       9    0.000    0.000    0.125    0.014 volatile.py:263(replacement)
1774/1451    0.029    0.000    0.124    0.000 :0(map)
    6150    0.030    0.000    0.124    0.000 serialize.py:458(find_global)
    1202    0.019    0.000    0.122    0.000
Expressions.py:88(trustedBoboAwareZopeTraverse)
       1    0.000    0.000    0.120    0.120 calendar.py:37(_render_cachekey)
    1649    0.027    0.000    0.118    0.000 serialize.py:567(getGhost)
   23476    0.109    0.000    0.109    0.000 :0(read)
       1    0.000    0.000    0.107    0.107 navigation.py:208(render)
     144    0.009    0.000    0.107    0.001 :0(weightedIntersection)
       5    0.000    0.000    0.107    0.021 menu.py:173(getMenu)
       2    0.000    0.000    0.106    0.053 common.py:160(update)
       1    0.000    0.000    0.103    0.103 navigation.py:164(createNavTree)
   46674    0.101    0.000    0.101    0.000 :0(isinstance)
    5869    0.060    0.000    0.095    0.000 serialize.py:451(_get_unpickler)
    6150    0.046    0.000    0.094    0.000 ClassFactory.py:17(ClassFactory)
       3    0.002    0.001    0.093    0.031
constraintypes.py:292(getDefaultAddableTypes)
     163    0.002    0.000    0.092    0.001 talinterpreter.py:827(translate)
       2    0.000    0.000    0.092    0.046 scripts.py:16(scripts)
     162    0.002    0.000    0.088    0.001 Expressions.py:206(translate)
     162    0.003    0.000    0.085    0.001 i18n.py:33(translate)


_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.