[Zope] Server specs.

Martijn Faassen m.faassen@vet.uu.nl
Wed, 18 Aug 1999 15:22:50 +0200


Alexander Staubo wrote:

> Although you don't say what kind of environment this is --
> sales/journaling system? Intranet? Mail? Document management? Or what
> kind of load. "About 500-600 will ask less intensive requests" -- yes,
> but when? Distributed over a day? Concurrently? What about your data?
> Lots of rows, lots of data, or both? And so forth.

I agree that this is unclear. Basically it's impossible to work out what
is needed, I think.
 
> Based on the information you do give out:
> 
> Python is a real CPU sponge, and for this kind of load I'd definitely
> bump the horsepower up to a dual Pentium III Xeon 500MHz, 512KB L2
> cache. Around $1100 per CPU. That said, however, I don't know how well
> Linux scales to two CPUs; for web serving, recent benchmarks have
> pointed out that it doesn't scale well at all.

Cough, cough. Are you referring to the Mindcraft benchmarks? They didn't
cover *dynamic* websites at all, I think, and definitely they didn't
benchmark Zope. Also for static pages, Linux scales well enough to drown
most network connections anyway.

Anyway, I don't know how Zope would scale on two CPUs, which would be
the real issue, I think. Does threaded Python scale to two CPUs at all?
How do you figure out anything at all based on the information he gives
out? Unless there's a very heavy database load, which could go on one
CPU. I imagine that's another possibility.
 
> Fast disks. Ultra SCSI at a minimum, preferably Wide and/or Ultra2 SCSI,
> preferably striped volumes. Zope may not be the real disk hog, but
> database servers are. I bet PostgreSQL isn't an exception; I know Sybase
> is.
> 
> RAM is crucial, but you'll probably survive on 256MB, although with your
> kind of environment I'd personally opt for 512MB at a minimum.

I don't still don't know what kind of environment, so this is hard to
guess. :) Perhaps an old pentium with 64 megs of RAM will do fine
already; don't underestimate old pentiums. If a 386 can play
departmental fileserver already... It's impossible to say from this. But
indeed RAM is the biggest bottleneck of these all.
 
> Multiple-port or multiple network cards. Multiport NICs support port
> failover and typically come with load balancing. Coupled with one or
> more switches, these are real killers when it comes to bandwidth and
> responsiveness.

This sounds like way overkill. I'm no hardware guy, but to support this
you'd need a couple of fulltime engineers and some OS extensions, I'd
think. :)

Perhaps the best option is to try it out on a reasonable system first.
If it gets too slow later (usage first has to pick up a lot, too,
internally, this takes time), you can always upgrade the RAM, or switch
to a more powerful system. Prices of these systems will have come down
too in the mean time. All in all you might end up spending less money
going this route than buying a possibly overpowered system now.

Regards,

Martijn