Max Clark wrote: > I am looking for a high performance spam/virus proxy that can sit as > the external part of this chain and accept the message from external > sources. This way if the system is overwhelmed it will reject the > message and the remote host will deliver to the next mx record listed.
You haven't told us anything about your traffic characteristics, though if you can build up 40k messages in any realistic timeframe it must be pretty high. Perhaps you should reconsider amavisd itself, rather than playing around with Apache::Qpsmtpd to start with. For instance, I am running both clamav and sophie on each and every message that makes it past the DATA phase on pathetic 450MHz Pentium equivalents, but I rarely have more than 15 connections active at one time. I am doing this directly from Qpsmtpd, rather than having a queue upstream, so I automatically throttle based on [my relatively limited] capacity. And, because I am scanning during the initial SMTP transaction, I don't accept messages I am later going to bounce or drop (like you must be doing). My understanding (and I will be corrected immediately if wrong) is that Apache::Qpsmtpd merely replaces the tcpserver or forkerver part of the model, i.e. the initial dispatch of the transaction. In other words, using forkserver or Apache::Qmsptmd should be completely comparable performance-wise once you have accepted the next transaction. Apache::Qpsmtpd doesn't have any [significant] effect on performance once the SMTP conversation has begun. The trunk pollserver implementation should, but that isn't ready for production use yet. HTH John