[Zope] Zope in Portals

Christopher Petrilli petrilli@digicool.com
Tue, 28 Sep 1999 09:49:04 -0400


 
> 1. It is often mentioned that Zope is very scalable. But how does it scale?
> We currently have an architeture that consists in several backends with
> SQL databases and NFS servers and about 5 mirrored frontends with Apaches
> delivering static and dynamic web pages, load balanced by an Alteon Ace
Director
> Switch. Would Zope fit in such an environment ? Are there any case studies
> or testimonials using something like this?

Well this would be something to look at ZEO for, rather than NFS/etc hacks.
ZEO does actual object replication and caching (as well as real-time
invalidation).  Unfortunately, it's available only to consulting customers.
Having said that, we are trying to get performance up for general usage as
well.  Anything under a few million hits a day shouldn't be a problem in the
current situation.

> 2. How well does Zope performs ? Are there any benchmarks ? I was not
> very impressed with the results of an "ab" (Apache Benchmark Program) I
> did to Zserver requesting 1000 pages with 200 concurrent requests. And
> how bad is it to use PCGI/Apache instead of ZServer ? Is the future
> of Zope focused in developing Zserver or integrating Zope well with
> other Web Server such as Apache ?

Yes.  ZServer is a great solution if you're just running HTTP/FTP.  Apache
is better for including other forms of content.  The hit right now is pretty
harsh, though it should be getting better once FastCGI support is released
(it's done, it just needs to be documented and fully tested).

> 3. It seemed to me that Zope doesn't support mySQL very well, being Oracle
> mentioned all the time. As mySQL is still our main SQL platform, i ask if
> mySQL DA is still being supported and/or developed?

Well, we have a bit of an architectural issue with MySQL... we're VERY VERY
VERY focused on transaction processing, everything is a transaction in Zope,
and the object database implements some very advanced ideas.  For
application sanity, we expect all databases external to Zope to do the same,
and MySQL obviously does not.  This has caused us to not develop for it,
regardless of its popularity in certain areas.  It's simply incompatible
with the architecture.

Now, having said that, we're more than happy to see other people use it for
whatever application they wish; understanding that you could suffer from
serious data corruption because of the lack of transactions.  Or you can
manually lock the database, and wait for it to hit a race-condition.  If
you're willing to accept these risks, more power to you.

Also, supposedly MySQL will get transactions in some form in the future (so
I've heard), at which point, I suspect our position will change.  For now,
we recommend anyone doing heavy SQL work, which contains critical data, to
use a database which has a robust transaction system (Oracle, Sybase, etc.).

Please understand that one of the primary focuses of Zope is to never loose
data, and never corrupt data.  Doing so, without any transaction system, is
nearly impossible.

Chris
--
| Christopher Petrilli        Python Powered        Digital Creations, Inc.
| petrilli@digicool.com                             http://www.digicool.com