[Zope-dev] zope + speed + persistant db

Michel Pelletier michel@digicool.com
Tue, 7 Sep 1999 16:18:27 -0400


> -----Original Message-----
> From: Paul Mokbel [mailto:pm@webhosting.com]
> Sent: Tuesday, September 07, 1999 10:45 AM
> To: Zope-Dev@zope.org
> Subject: [Zope-dev] zope + speed + persistant db
> 
> 
> 
> Hi, 
> 
> I have a few aching questions to ask.. Maybe some of you can 
> bright some
> light on 'em..
> 
> 1) How fast is zope running as ZServer.. (is it fairly 
> fast).. If I use an
> external python method, and 'import' python modules (if it 
> was previously
> called), will it reload? or am I confused as to how zope works.
> 

How fast is Zope?  Compared to what?

External methods are reloaded when they are re-edited.  If you change an
external method and you want to reload it, just click on the method and
click 'Edit'.  This will reload the actual python from the filesystem.
Modules are not reloaded on each hit.

Zope is a large system.  Confusion is understandable.  Brian wrote a
brand-new External Method How-To that might help:

http://www.zope.org:18200/Documentation/How-To/ExternalMethods

> 2) Does zope support persistant MySQL connections *THIS IS A MUST!*.
> Zope, php, mod_perl have some kind of support for persistant SQL
> connections..  In other words, if a previous connection to a 
> DB was opened
> and not closed, it re-uses it automatically. It does increase
> performance..
> 

Zope will reuse database connections very intelligently.

> 3) Does zope use medusa? If not, WHY!?!?!?! (so far, I'd say 
> that medusa
> is perfect for the operation.. but maybe I'm wrong.. clarify)
> 

Yes Zope uses medusa as it's socket 'core'.  The reasons why are very
technical but very good reasons.  medusa is a very important component
of zope's performance story.

> 4) As per the pcgi CGI wrapper that runs under any other web 
> server: Is
> there a speed indifference compared to having the ZServer taking
> care of the http requests.. (pretty obvious, but is it marginal).. 
> 

Yes.  Apache and other CGI based systems fork a new process to invoke
the pcgi wrapper.  This fork system call is typically expensive.

> 5) To be frank, I am not interested in DTML; rather, I am 
> interested in
> the python implementation and the possibility of using it for mission
> critical python CGIs. I previously wanted to implement Python 
> into Boa (a
> fast httpd, and using it strictly for serving out Python 
> CGI's without the
> forking of a process). Is this for me? or perhaps maybe httpdapy or
> pyapache..

Zope provides more than just DTML, it provides gobs and gobs of very
useful framework, including security, object abstractions, rich API,
extensibility in several directions, Relation Object Integration, etc...

If you don't need any of these things, or if you are going to
roll-your-own framework, then don't use Zope.

-Michel