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