On Thu, 2010-07-15 at 04:31 -0700, Gnanam wrote:
> As I'm integrating SpamAssassin command-line tool in our web-based
> application to test spam score of the email message, hundreds of application
> Users may perform spam score test at the same time.
> 
I'd say suck it and see initially, with your web app calling spamc to
pass messages to spamd - that will give the fastest per-message
processing time because there is no startup/teardown overheads for each
message.

If the service gets as much use as you're guessing, concurrent requests
will collide, causing slower responses. If this can't be sufficiently
minimised by adjusting the spamd child process population, you can
always change the web app to accept and queue messages to be checked and
e-mail the results back to the submitter.

> My question is: Will the command-line tool "spamassassin" or "spamc" be
> stable/reliable enough to test hundreds of different email messages at the
> same time?
> 
Its reliable enough, but concurrency will be limited by the number of
child processes you allow spamd to run - on normal MTAs this limit is in
single or low double figures. To allow 'hundreds' of simultaneous tests
you'd have to launch a copy of spamassassin as each message is
submitted, which means also providing enough hardware to run 'hundreds'
of copies of spamassassin in parallel.
  
> Experts ideas/advice/opinions/comments are appreciated.
> 
Take a good look at your existing SA installation(s) and scale the mail
checking installation accordingly: its just a normal hardware sizing
exercise based round an application that requires fairly significant
resources (memory and cpu) to process each submitted message.
 

Martin


Reply via email to