[Zope] The Principles of Designing a Heavy Load Site with Zope

Chris Withers chrisw@nipltd.com
Sun, 03 Mar 2002 10:38:49 +0000


> iap@y2fun.com wrote:
> 
> Suppose we want to provide a server which is:
> 1) Hosting 1,000,000 members' profile. Each member's disk quota is 5MB.
>    Which means we need at least 5,000GB (5 TeraGB) disk space.
> 2) Assume the concurrent accessing to a URL is 1000 request/per second

Lemme knwo when your site gets even close to this, I will be very impressed ;-)

> 3) Assume all the requests retrieve dynamic content.

Incorrect. You'll ned to get caching in at those user levels. You can _always_ cache
something and you will need to in this case...

> The priciples I would like to verify are:
> 1) Some database (RDBMS) should be used instead of FileStorage for ZODB.

Maybe, I'm not convinced

> 2) The ZEO should be used for constructing a cluster computing.

Urm... not sure what a 'cluster computing' is, but if you're going the RDBMS route, the
ZEO isn't really necessary, just fire up loads of Zope intsances and connection them all
to the same RDBMS cluster...

> 3) The Apache should be the front end instead of ZServer.

Yup.

> 4) The PCGI should be the connection between Apache and Zope.

Nope, use proxypass, much faster

> 5) I shouldn't create static instance into the ZODB but query the
>    external database.

huh?

> 6) The "Cache" of zope is useless since all the responses are dynamic rendered.

Nope, I repeat, at those levels, you will NEED to get caching working, preferably at all
layers of your App. I suggest you look at thinks like Squid and LVM to help...

cheers,

Chris