Re: [exim] Mail Implementation Design (Update)

Top Page
Delete this message
Reply to this message
Author: GamCo - Mail List
Date:  
To: exim-users
Old-Topics: [exim] Mail Implementation Design
Subject: Re: [exim] Mail Implementation Design (Update)
Hi Guys

Just some feedback on this issue after pursuing some suggestions from other
power users on the list ;-

We have been testing several aspects of our problem by trying several
solutions, and this is the outcome so far :-

1. MySQL
Upgrade to the latest MySQL 5.x :: By upgrading to the latest available via
ports on FreeBSD, we are now running on MySQL 5.0.24 - This version seems to
be stable, using a lot less resources on the CPU. Previously we had a lot of
crashes around V4.x which seems to have disappeared.

We have since changed from the traditional TCP connections between Exim and
MySQL to Unix sockets rather which appears to also add a little to more
stability and less load on the server.

We are however left with one little snag, getting Signal 11 crashes. Not on
a daily basis, but at least every second day. I have been reading up on this
error and it might suggest bad RAM or ulimits.

Anyone care to shed their opinions ?

2. Virus Scanning
We loaded up a Dell 850 2.8 Ghz CPU, 80 GB SATA, 512MB Ram server with
FreeBSD / Amavisd-new / ClamAV via TCP connections.

The server at first could not handle the load with the amount of mails
coming into the scanning server and we saw some mail queues appearing on the
primary mail server side with some Amavis defers coming from Exim. After we
upped the amount of server processes, we saw the CPU take strain while
ClamAV was scanning the mails for viruses.

We have since then disabled the Amavis scanning and went onto testing inline
scanning with ClamAV / Exim. This appears to be working very well indeed.
All happening on the same server with little extra load caused by the AV
scanner via Unix Sockets.

I am left wondering why the Amavisd / ClamAV route would put such a load on
the extrernal scanning server as opposed to running the Exim inline scanner
?

3. We have not yet experimented dumping the SQL database to a flat file and
using exim to rather do lookings via the flat files. We will experiment over
the next few days.


Hope this helps in future with other people having issues as we have been
experiencing over the past couple of months.


Regards

G Marais







-----Original Message-----
From: exim-users-bounces@??? [mailto:exim-users-bounces@exim.org] On
Behalf Of GamCo - Gawie Marais
Sent: Friday, August 18, 2006 10:49 AM
To: exim-users@???
Subject: [exim] Mail Implementation Design

Hi Guys



We are tied into knots at the moment with regards to a mail system
implementation and have been running into several problems over the past
couple of weeks and we have decided to re-look and investigate a proper
solution.



What we currently have :-



We have around 7500 mailboxes currently. We handle around 80 000 mails daily
to those mailboxes. We have a greylist solution in Exim that works with a
MySQL database backend and we make use of DNSBL lists. All our servers are
running FreeBSD 5.x and 6.x





This is the flow of mail traffic



Mail comes into the exim server, we check for greylisting and DNSBL lists.
If mail is accepted, we pass it to the virus scanners via Amavis, it gets
scanned and if clean, we send it back to the Exim server for local delivery.
The problem currently is that once mail comes in to Exim, a database lookup
is done to make sure that we can accept mail as per domain and user lookups
and once it gets passed back from Amavis, another lookup is done to the
database again to make sure that the user exists via domain and user lookup.
Hence, we have two of the exact same queries done to accept a single mail.



Problems :-



We are currently using TCP connections to the MySQL database from Exim. We
have been using MySQL 4.x which is giving us a lot of problems with
connections and threads used by Exim, due to the multiple lookups per any
one mail that comes into our mail system. Up to a stage where the MySQL
database falls over with memory problems. Once restarted the MySQL database
works perfectly for a couple of days again.



For growth purposes, we would like to keep the Amavis solutions as we can
just add multiple scanning servers to load-balance the scanning services.
The amavis servers only do virus scanning with ClamAV and no spam-related
scanning is done via Spamassassin.



We have been thinking of having the Database server and the Exim server
running on the same hardware in stead of having one server for Exim and one
for MySQL.





Exim Mail Server

Intel P4 2.8GHz

2GB Ram

2 x 120GB Hard Drives







MySQL Server



Dell 2850

2GB Ram

6 x 70GB SCSI hard drives - RAID 5 Configuration



Amavis Scanners



Multiple P4 2.8 Ghz, 1GB RAM Servers





Are there any suggestions to configure the use of Exim, MySQL and Amavis to
work better together? I hope I have included enough information fro you to
judge the problem and make some suggestions.





Regards



Gawie Marais









--
## List details at http://www.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/