[Zope-DB] Optimal System Design

Matthew T. Kromer matt at bane.mi.org
Thu Sep 16 11:45:45 EDT 2004


Hi Brian,

IMHO, you're light on RAM for Zope (this isn't always true, but object 
caching speeds up Zope, and chews up RAM).

With only two drives, I think you're going to want to mirror them and 
sacrifice the I/O speed to MySQL.  Zope writes (not MySQL writes) are 
all append based to the ZODB, so they probably aren't as important as 
the number of IOs you can pump out of MySQL.  Given the general risk of 
drive failure, I usually recommend redundant drives of some kind, 
choosing to eat the I/O penalty for the reliability.  Note that the 
Dell SCSI drives that I've used in the past were quite good though, 
especially compared to IDE drives.

I really don't care about the kernel; unless you're I/O bound, your 
choice of distribution & kernel should be pretty moot.  Which is to 
say, on an Intel box of that type, Python can crank X number of 
operations per second, and that's your hard upper limit.  The overhead 
of the OS is usually insignificant compared to the complexity of the 
algorithms implemented in Python (which is fancy for saying that Zope & 
Plone chew up a LOT of python operations to serve even the simplest 
page).

Unless you have a really good idea how you want to partition the thing, 
mirror both drives with the controller and give the resultant mirrored 
drive boot, swap, & root.  If you don't care about the boot partition, 
you can omit it.  2G swap should be fine for you, since you don't have 
that much RAM installed anyway, and you don't want to swap on the box 
during production (in some cases, having NO swap is good).

If this is your first system to configure, I advise not making it 
overly complex, because you're just locking yourself into that 
complexity, which makes it hard to change your mind after you learn 
more about what you want to do.

On Sep 15, 2004, at 7:59 PM, <brianc at temple.edu> wrote:

> Was wondering if the people on this list could give me their
> view on the optimal way to design a new system I'm
> developing for zope/mysql.
>
> Dell PowerEdge 1600SC Tower Server
> Single 2.4 GHz Xeon Processor (possible upgrade to 4)
> 2x256MB DDR SDRAM (4 slots, up to 4 GB)
> 2x36GB SCSI 10K RPM, onboard controller.
> Integrated Gigabit NIC (Either Broadcom or Intel)
>
> I'm going to install Suse Linux 9.0 because of personal
> preference. (Would 9.1 with the 2.6 Kernel be worth it?)
>
> The server will be running Zope 2.x, MySQL 4.x, Apache 2,
> and a simple ftp server. The mysql table sizes will be
> roughly a gig in size. The performance intensive tables will
> be MyISAM.
>
> What is the optimal harddrive configuration to use? Software
> RAID 0 the 2 disks together and then partition from there?
> (data integrity is not an issue) Or make one a dedicated
> data drive for mysql? And the other for ftp server file
> space.
>
> What is the best way to partition the file system out?
> Possibly buying a cheap IDE drive to run the OS partitions
> off of wouldn't be out of the question.
>
> The intended traffic will probably be small at first,
> however, as the datasets grow as well as popularity we could
> foreseeably be adding more hardware.
>
> This is the first system I'm developing ground up so any
> advice would be greatly appreciated.
>
> Thanks,
> Brian
>
> PS. For anyone interested the price tag on this system is
> $1,097.
> _______________________________________________
> Zope-DB mailing list
> Zope-DB at zope.org
> http://mail.zope.org/mailman/listinfo/zope-db



More information about the Zope-DB mailing list