Matt Simerson wrote:
Is qpsmtpd often the bottleneck?
It depends on the plugins. A number of us use Qpsmtpd as a spamtrap sink
- for those purposes, the answer is "Perhaps".
I should think that the external plugins (clamav, spamassassin, etc) would
be the most significant bottlenecks?
Most definitely...
That being said, if the node.js implementation of qpsmtpd was significantly
faster, while consuming significantly fewer resources, it might be an impetus
to rewrite SpamAssassin in node.js.
There's a number of annoyances though - specifically that we'd have to
embed PCRE as Javascript's RE engine is (at best) shit. Of course that's
doable and the embedding API looks quite straightforward.
But yes, it's most certainly doable (and I may or may not have already
done a high performance re-write of SpamAssassin at $work). The big
problem is that we'll never get the same output - Mail parsing will be
different, HTML parsing will be different. And this means the scores
won't do the right thing (because they are trained specifically with
their genetic algorithm or whatever they use now). It's a non-trivial
problem.
Matt.