[Zope-CMF] CMF object? w/ ab results was Plone Speed
alan runyan
alan runyan" <runyaga@runyaga.com
Wed, 15 May 2002 11:15:36 -0500
> > *I* believe the "smoking gun" lies elsewhere (e.g., inside the actions
tool).
maybe.
in the bare bones document_view I make a call to <span
tal:replace="here/portal_actions/listFilteredActionsFor" /> I get:
Concurrency Level: 2
Time taken for tests: 9.984 seconds
Complete requests: 100
Failed requests: 0
Broken pipe errors: 0
Total transferred: 206400 bytes
HTML transferred: 183400 bytes
Requests per second: 10.02 [#/sec] (mean)
Time per request: 199.68 [ms] (mean)
Time per request: 99.84 [ms] (mean, across all concurrent requests)
Transfer rate: 20.67 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.4 0 5
Processing: 98 198 30.0 198 288
Waiting: 97 197 30.0 198 288
Total: 98 198 30.1 198 288
> Cool, I defer to your greater experience. I do know that plone makes heavy
use of the
> actions tool too, so I can believe this...
we are not an exception of using the actions tool. Like CMFDefault we called
tal:define="global actions here/portal_actions/listFilteredActionsFor"
and all calls use the actions global variable from there on out. I dont
think this is a problem. CMFDefault is less than 100% faster than CMFPlone
as
previously shown. I've seen breadcrumbing code usually slow things down
*significantly*, but using portal_url I dont see how we could get much
faster.
hmmm. maybe it *does* lie in PageTemplates. I change my document_view to a
DTML Method that only does <dtml-var CookedBody>
these results I am satisfied with: ~20 req/sec. for doing nothing but
showing the CookedBody.
CMFPlone - custom/document_view is <dtml-var CookedBody>
---------------------------------------------------------------
Concurrency Level: 2
Time taken for tests: 5.247 seconds
Complete requests: 100
Failed requests: 0
Broken pipe errors: 0
Total transferred: 128674 bytes
HTML transferred: 105444 bytes
Requests per second: 19.06 [#/sec] (mean)
Time per request: 104.94 [ms] (mean)
Time per request: 52.47 [ms] (mean, across all concurrent requests)
Transfer rate: 24.52 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 50 104 43.0 96 293
Waiting: 49 104 42.9 96 292
Total: 50 104 43.0 96 293
hmmmmmmm.
here is another idea. created a DTML Method that does <dtml-var title_or_id>
put it in root of ZOPE, ab. gives me ~50 req/sec. (yummy).
call the method 'test' and put it in root of CMF site. and get.
CMFPlone - not even using the skinning machinery in anyway (or am I?)
create a 'test' DTML Method in the CMF Site root which ony has: <dtml-var
title_or_id>
-----------
Concurrency Level: 2
Time taken for tests: 4.878 seconds
Complete requests: 100
Failed requests: 0
Broken pipe errors: 0
Total transferred: 23400 bytes
HTML transferred: 600 bytes
Requests per second: 20.50 [#/sec] (mean)
Time per request: 97.56 [ms] (mean)
Time per request: 48.78 [ms] (mean, across all concurrent requests)
Transfer rate: 4.80 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 46 97 40.7 88 276
Waiting: 46 96 40.8 88 276
Total: 46 97 40.7 88 276
hmmmm. this is interesting. why more than 1/2 the sleep lost just to show
the title_or_id?
~runyaga