Hi all, Recently I was appointed to improve a Plone's performance, and I have the following issue: I see too many transactions made by the anonymous user. I can reproduce this behaviour: just watching the home page produces a transaction at /index by None. I wonder if there's a way to actually see what objects (or object types) are modified by those transactions. So I can go directly to the source of the (surely innecesary) transaction. I tried analyze.py but I don't grasp the output accurately. Best regards, Manuel.
On Apr 5, 2008, at 11:49 AM, Manuel Vazquez Acosta wrote:
Hi all,
Recently I was appointed to improve a Plone's performance, and I have the following issue:
I see too many transactions made by the anonymous user. I can reproduce this behaviour: just watching the home page produces a transaction at /index by None.
I wonder if there's a way to actually see what objects (or object types) are modified by those transactions. So I can go directly to the source of the (surely innecesary) transaction.
I tried analyze.py but I don't grasp the output accurately.
In a development environment, set a breakpoint (e.g. add "import pdb; pdb.set_trace()" in ZODB.Connection.Connection.register. You'll be able to see exactly what is causing object changes. I recommend doing this in the zope debugger, which makes it easy to run one request at a time. Jim -- Jim Fulton Zope Corporation
In a development environment, set a breakpoint (e.g. add "import pdb; pdb.set_trace()" in ZODB.Connection.Connection.register.
You'll be able to see exactly what is causing object changes. I recommend doing this in the zope debugger, which makes it easy to run one request at a time.
Dear Mr. Fulton, Thanks for your quick response By the zope debugger you mean this: http://www.simplistix.co.uk/software/zope/zdb ?? Best regards, Manuel.
On Apr 5, 2008, at 12:09 PM, Manuel Vazquez Acosta wrote:
In a development environment, set a breakpoint (e.g. add "import pdb; pdb.set_trace()" in ZODB.Connection.Connection.register.
You'll be able to see exactly what is causing object changes. I recommend doing this in the zope debugger, which makes it easy to run one request at a time.
Dear Mr. Fulton,
Thanks for your quick response
By the zope debugger you mean this: http://www.simplistix.co.uk/software/zope/zdb ??
No, I mean the built-in debugger you get when you run: zopectl debug Get someone familiar with Zope to explain it to you. Jim -- Jim Fulton Zope Corporation
Manuel Vazquez Acosta wrote at 2008-4-5 11:49 -0400:
... I wonder if there's a way to actually see what objects (or object types) are modified by those transactions. So I can go directly to the source of the (surely innecesary) transaction.
The ZODB utility "fsdump" generates a human readable view of your storage. Among others, you see which transactions have been committed (together with all transaction metadata) and which objects was modified (identified by the oid (and I think, their class)). -- Dieter
participants (3)
-
Dieter Maurer -
Jim Fulton -
Manuel Vazquez Acosta