[Mimedefang] MD I/O intensive?

Andrew J Caird Andrew.Caird at fccc.edu
Mon Mar 15 14:10:51 EST 2004


Quoting Aaron Paetznick <aaronp at critd.com>:

> 
> I'm assembling several front-end MIMEDefang filter servers.  These 
> machines will be used to filter incoming email and pass it along to our 
> mailstore.  They will be under extremely heavy load.  I'm wondering how 
> I/O intensive the Sendmail/MIMEDefang combination is in a setup like 
> this.  I would also be using File::Scan and clamd.
> 
> Could I get by with SATA drives, or should I go all out and get the 15K 
> SCSI models?  If I skimp on the drives I might be able to get a second 
> whole machine.  When used in this configuration, will CPU, memory, or 
> I/O be the bottleneck?
> 
> Thanks.
> 
> --Aaron

Aaron,

  In situations like the one you described, I/O is almost always the bottleneck,
followed by memory, then CPU.  If you skim the archives of this list, there is
a fair bit of discussion about putting parts of MD on RAM-based filesystems to
improve performance.

  For running sendmail in general, I/O is the central issue.  A good reference
for addressing this issue is "sendmail Performance Tuning" by Nick Christenson,
although he doesn't address the additional burdens imposed by milter.

  I don't know your budget or your definition of "extremely heavy load", but on
the assumption that your email volume won't decrease as the years go on,
investing in fast disks now might not be a bad plan.

  In addition to spindle speed, you might want to consider the number of
spindles and controllers.  That is, keeping the MD quarantine (if you're
planning on quarantining things) on a seperate disk from the mqueue directory
is a good idea, if you have the drive bays to support that.  Modern controllers
can handle reasonable loads to different disks, but, again, you can consider
seperate controllers, too.  

  It sounds like you may not need a lot of space, if these will simply be
passing incoming email on to internal hosts.  Assuming your internal mail hosts
are reliable (or at least closely watched), you probably don't need big disks
on your relay hosts (unless, again, you are planning on quarantining a lot of
email), but several small, fast disks would serve you well.  The ideal
situation (well, in my opinion) is: one disk for OS and logs; one disk for
/var/spool/mqueue; one disk for the MD quarantine; enough RAM for a RAMdisk for
MD's working directory.  If these servers will handle outgoing email, you'll
need a bigger mqueue, probably.  If you have multiple controllers, you can put
either mqueue or the MD quarantine on its own controller.  

  Hope this helps.
--
Andrew Caird



More information about the MIMEDefang mailing list