[wplug] Thoughts & Considerations for email server

Bill Moran wmoran at potentialtech.com
Sat Aug 18 15:07:27 EDT 2007


Kevin Squire <gentgeen at linuxmail.org> wrote:
>
> I just got word late Friday that my "little" server for student email
> will now be used for both student and parent email.  ($BIG_COMPANY just
> tried to extort $70,000 from use to renew for the 2007-2008 year - CFO
> not happy about it).
> 
> This is the first launch of (1) us offering student email and (2) us
> hosting our own email server.  Since it is my responsibility, I am now a
> bit more nervous then before.  We just upped the accounts from ~4,000 to
> ~7,000.
> 
> All the "bosses" know that I have never done anything at this scale, and
> they know that this year will most likely be a "test run".  I have put
> all my cards on the table, so I am not worried about my job, but I still
> want to make it as successful as possible.  This is really the first
> large scale deployment of OSS software, and I would really like to bring
> more in in the future. 
> 
> Below I will list the hardware and software - I would love to hear any
> feedback from those with some experience.  Any horror stories, any
> tips/tricks, any thoughts/feelings about the setup, etc.  Any info would
> be appreciated.
> 
> Server is a HP ProLiant ML310 G4 with 
>   - Dual-Core 3050 2.13 GHz
>   - 4GB ram
>   - 4 HDs in a RAID 5 array - totaling ~700GB storage

RAID5 is known the world over for lousy performance.  Do you need 700G?
If not, you'll get much better response times from a RAID10, which I'm
guessing will yield you about 500G.  700G is 100M/user.  What limits are
you putting on mailbox size?  If you really need that much space, add
disks -- you're saving your employer $70,000/year, they can afford to
buy you some additional high-end disks.

How are you backing all of this up?

> Software is 
>   - Debian Stable
>   - Postfix/Courier with MySQL back-end

MySQL has performance issues at high contention levels.  IOW, it runs
like a bat out of hell with a few users, but performance goes in the
toilet when it has lots of users.  Why do you need MySQL to begin with?
Consider ditching it altogether, or switching to something that
scales linearly, like PostgreSQL.

What's your mailstore?  I recommend Maildir.

>   - SquirrelMail web interface (this yr we will only support webUI, we
> will not support other mail agents)
>   - imapproxy for proformance issues
>   - maildrop for quota and filtering
>   - amavis for clamAV and SpamAssassin 

I would add spamd in front of those.  ClamAV and Spamassassin are great,
but they're both high-load apps.  spamd will stop a large percentage of
spam with very low CPU load.  What little gets past it will probably
get caught by Clam/SA, but those two won't have to process so much.

>   - Probably a few other things I can't think of right now.

Get something like MRTG running on that system so you can track usage
and see problems before they become critical.  Other methods of usage
tracking are recommended as well.  There are a few log analyzers for
Postfix, for example.

-- 
Bill Moran
http://www.potentialtech.com


More information about the wplug mailing list