Re: Performance
Andreas Jung <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Organization | ZOPYX Ltd & Co. KG |
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Frank Poetzsch-Heffter wrote: > Hallo, > > meine Plone 3.1.1 Seite ist definitiv zu langsam. Die data.fs ist > gepackt 4GB groß. Was heisst zu langsam? Die üblichen Checks: Aktuelle Hardware? Genügend RAM? Debug Mode ausgeschaltet? Welche Plattform? Zope wird regelmässig neugestartet? Wie gross sind die Zope Prozesse (Speicher)? Zope Plone Versionen? Was läuft an Drittsoftware? ... Regelmässiges Packen scheint Einfluss auf die Geschwindigkeit von Zope zu haben. Regelmässige Restarts auch. Ansonsten zeigt das Profile, dass sehr viel Zeit in TransformationEngine verbracht wird - warum auch immer ...ist das ZPT (sorry, zu faul durch den Code zu wühlen). Andreas > > 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 - -- ZOPYX Ltd. & Co KG \ zopyx group Charlottenstr. 37/1 \ The full-service network for your D-72070 Tübingen \ Python, Zope and Plone projects www.zopyx.com, [email protected] \ www.zopyxgroup.com - ------------------------------------------------------------------------ E-Publishing, Python, Zope & Plone development, Consulting -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAks5lZYACgkQCJIWIbr9KYyj2QCePgTl5/YWJYzP4gCFhD/CbiYf L/UAni9MDH39jqfo9dLN1EGhxZNBcCm7 =oc/v -----END PGP SIGNATURE----- _______________________________________________ zope mailing list [email protected] https://mail.dzug.org/mailman/listinfo/zope
lists.vcf
(text/x-vcard, 316 B)
begin:vcard fn:Andreas Jung n:Jung;Andreas org:ZOPYX Ltd. & Co. KG adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany email;internet:[email protected] title:CEO tel;work:+49-7071-793376 tel;fax:+49-7071-7936840 tel;home:+49-7071-793257 x-mozilla-html:FALSE url:www.zopyx.com version:2.1 end:vcard