[Zope] Multithreading sessions
Carol Ludwig
csl at med.unc.edu
Wed Jun 4 10:58:20 EDT 2008
We are using Plone and Zope against a legacy Ingres database, and I found a similar problem
using the adapter provided. I found that the C library modules (open source) actually contained
calls to make the adapter work as we wanted, much like our other web interfaces which maintain
the db and user permissions info as a "connection", but close the actual query after each. I had
to modify the Python Zope product to set "autocommit" and call the desired close in order to get
the behaviour we were looking for -- keeping the connection, but releasing each session so that
the DB backend does not register an active session between actual queries.
That's open source. Code terminology for "re-write it".
----- Original Message -----
From: Jon Emmons <jon.emmons at earthwavetech.com>
Date: Wednesday, June 4, 2008 8:50
Subject: RE: [Zope] Multithreading sessions
To: 'Dieter Maurer' <dieter at handshake.de>
Cc: zope at zope.org
> Dieter,
>
> Thanks for this input. Your comments here turned out to be
> dead on. The
> problem is the GIL.
>
> We are currently running Sybase databases using the python
> Sybase-0.37
> module for data access.
>
> This module will set the GIL. So if the query takes any
> time at all, every
> other session will freeze. It does release it when the
> connection is
> closed, but if the query takes awhile it effectively denies
> service to every
> other session.
>
> I am just learning about this, but my initial inquiries suggest
> that the
> only way to achieve true concurrency using a language like
> python is to
> launch multiple interpreters.
>
> I don't yet have the solution to my problem, but at least now I
> know what
> the problem is, and that is half the battle.
>
> Thanks again, and thanks to everyone's input, it has helped immensely.
>
> Jon Emmons
>
> -----Original Message-----
> From: Dieter Maurer [mailto:dieter at handshake.de]
> Sent: Wednesday, May 28, 2008 2:27 PM
> To: Jon Emmons
> Cc: zope at zope.org
> Subject: Re: [Zope] Multithreading sessions
>
> Jon Emmons wrote at 2008-5-23 08:58 -0400:
> > ...
> >I am running zope 2.9.4 and have observed that it will not
> simultaneously>serve pages to my users.
>
> Usually, it does.
>
> I have seen database adapter packages (an old "psycopg" version,
> to be
> precise) that forgot to release the GIL for some operations.
> Then Zope freezes while these operations are executed.
>
>
> A surprising report of a similar kind was: while Zope's embedded
> profiler is in use, Zope effectively runs in single thread mode (such
> that other threads do not distort the timing results).
> Probably not your problem ... but who knows.
>
>
> Further potential reasons (for almost surely not responsible for your
> current problem:
>
> Expensive operations implemented in "C" (such as
> operations on huge
> strings)
>
> Creating excessive amounts of objects (causing lots
> of generation 2 garbage collections which hold the GIL)
>
>
>
> --
> Dieter
>
> _______________________________________________
> 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 )
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope/attachments/20080604/507dff39/attachment-0001.html
More information about the Zope
mailing list