[Zope] temp_folder not MountTemporaryFolder?
Chris McDonough
chrism at plope.com
Sun Jun 24 21:58:15 EDT 2007
Note also that a patch like this one (against the current Zope 2
trunk, you may need to change it based on whichever version of Zope
you're using) might shed more light on where your conflict errors are
coming from:
Index: lib/python/Zope2/App/startup.py
===================================================================
--- lib/python/Zope2/App/startup.py (revision 77024)
+++ lib/python/Zope2/App/startup.py (working copy)
@@ -166,6 +166,9 @@
conflict_errors,
unresolved_conflict_errors,
startup_time)
+ from traceback import format_exception
+ msg = '\n'.join(format_exception(t, v, traceback))
+ conflict_logger.log(level, msg)
raise ZPublisher.Retry(t, v, traceback)
if t is ZPublisher.Retry:
try:
On Jun 24, 2007, at 9:31 PM, Manuel Vázquez Acosta wrote:
> Let me see if I got this right:
>
> According to ZODB.Mount.MountPoint: mount points are Zope objects
> that, when traversed, accesses a different database.
>
> Do they report themselves as the container-class defined in zope.conf?
> I mean, when I traverse to /temp_folder what do I get? Is it the
> MountPoint instance or the container-class instance? Where should I
> look for this code?
>
> I have "tried" faster but without any luck. I modified OFS.Application
> and replaced TransientObjectContainer with
> faster.SessionDataContainer, but still I had too many ConflictErrors
> (didn't make any measure to compare with TransientObjectContainer).
>
> What I have not grasped yet, is how the whole MountPoint thing works
> so that /temp_folder vanishes when Zope dies. This must be a
> TemporaryStorage in another DB, accessed thru the MointPoint, but I
> have not found where this is done.
>
> Thanks for your response, and best regards,
> Manuel.
>
> On 6/24/07, Chris McDonough <chrism at plope.com> wrote:
>> /temp_folder is a "mount point" (see your zope.conf file).
>>
>> Whether or not you put a session data container inside of a temp
>> folder, you may get better conflict-related performance out of
>> "faster", a drop-in replacement for the stock Zope sessioning
>> machinery... see http://www.agendaless.com/Members/tseaver/software/
>> faster/ (but you might not, it depends on the sessioning access
>> pattern). In particular "faster" is much better conflict-wise when
>> sessions are accessed but not changed in the course of a request.
>>
>> - C
>>
>> On Jun 24, 2007, at 8:19 PM, Manuel Vázquez Acosta wrote:
>>
>> > Hi all,
>> >
>> > I have been digging into Session Management in Zope, because is
>> > causing a little overhead. We have develop a Plone Application,
>> which
>> > must respond to 30 concurrent user every 12 seconds, we have setup
>> > CacheFu and Squid for this.
>> >
>> > We have used OpenSTA to stress test the application.
>> >
>> > When we run the bench for a non login test, everything goes just
>> fine.
>> > But when run a bench in which a user logs in, we observe too many
>> > ConflictErrors, which, I thinks, slows too much the application,
>> > because zope retries the request 3 times.
>> >
>> > I have read /temp_folder is RAM based folder, and also that it
>> should
>> > be a MountPoint, but looking at the code and with the help of
>> > DocFinderTab, I have found /temp_folder is a
>> > Products.TemporaryFolder.SimpleTemporaryContainer, which seems
>> to be
>> > just a folder in the ZODB... This sould be this way? Does
>> > /temp_folder/session_data is the RAM based storage?
>> >
>> > Best regards,
>> > Manuel.
>> > _______________________________________________
>> > Zope maillist - Zope at zope.org
>> > http://mail.zope.org/mailman/listinfo/zope
>> > ** No cross posts or HTML encoding! **
>> > (Related lists - http://mail.zope.org/mailman/listinfo/zope-
>> announce
>> > http://mail.zope.org/mailman/listinfo/zope-dev )
>> >
>>
>>
>
More information about the Zope
mailing list