Hello everyone,
We've been using SpamAssassin on our front-end to provide anti-spam
services to our customers for some years now, but are trying to set
up some dedicated scanning boxes to take the load off the main SMTP
servers. Unfortunately, I'm struggling to get spamd to handle
anything like the throughput of which the servers should be cable.
Hardware configuration: 2x quad-core Xeon, 10 GB RAM
Software: CentOS 5, SpamAssassin 3.2.3
We're using the updates from updates.spamassassin.org and
saupdates.openprotect.com. SMTP server is exim with some customer
embedded perl which passes the messages through to spamd.
This combination manages a throughput of, at best, around 1 email
scanned per second. Initial debug runs flagged lockfiles for the
Bayes and AWL db files as a limiting factor - the former is now on
MySQL and the latter disabled and neither seem to be problematic.
Increasing the number of spamd child processes simply increases the
time taken by each to complete a scan. At no time does the server
show any signs of being CPU, IO or memory limited.
The sticking point that makes me suspect an issue with spamd itself
rather than the scanning process is this: With spamd set to 128 child
processes, all kept continuously busy, scan times (as reported by
spamd's logging) appear to average around 200 seconds. At the same
time, I can run emails manually through command-line spamassassin,
and they complete in around 15 seconds of wall-clock time.
Testing on a less heavily-loaded server suggests that scan times get
significantly longer when all the spamd child processes are busy
compared to when there are some idle. Again, this is from spamd's
logging, the times seen from exim which include the connection delay
while waiting fro a free child process are longer still.
I've checked Google and the mailing lists without much avail - if
anyone has seen similar issues in the past and can point me in the
direction of a solution, or flag anything obvious that might of
overlooked, it would be much appreciated!
mrj
--
Mark Rigby-Jones, System Operations Manager
CI-Net, Network House, Langford Locks, Kidlington, OX5 1GA
CI-Net is the trading name for Community Internet plc
A company registered in England and Wales number 3155758
t: 01865 856009 m: 07747 862201 e: [EMAIL PROTECTED]
w: www.ci-net.com