[Zope-DB] Optimal System Design
Matthew T. Kromer
matt at bane.mi.org
Thu Sep 16 11:45:45 EDT 2004
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
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
> 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.
> PS. For anyone interested the price tag on this system is
> Zope-DB mailing list
> Zope-DB at zope.org
More information about the Zope-DB