On Thu, 2010-07-15 at 06:40 -0700, Gnanam wrote:
> Karsten Bräckelmann wrote:
> > No stability concerns with either.
> > 
> > However, with anything other than a trivial load, do not use the plain
> > spamassassin script, but the spamd daemon with the light-weight spamc
> > client. The daemon is much faster and consumes less resources, because
> > SA does not have to compile all rules and start a full Perl process each
> > time -- unlike the spamassassin script, which does.
> 
> Thanks for making me understand this important and critical difference.  But
> why then spamassassin script should exist - just for my understanding?

One particular good reason would be rule development, or even simple
configuration changes -- and the ability to test and lint them, without
restarting the daemon. A lint error in that case can have quite drastic
consequences. There are more reasons.


> Karsten Bräckelmann wrote:
> > However, you will most likely *not* be able to scan "hundreds of
> > messages at the same time". Your machine simply doesn't have the
> > resources for that.
> > 
> > Do you really expect them to be scanned simultaneously, at the very same
> > moment!? A continuous, steady stream of a hundred messages every few
> > seconds? Or are you referring to "same time" as in a human meaning,
> > actually covering minutes or even more.
> 
> We usually benchmark any software/tool that is integrated within our
> web-based application for a maximum of 100 concurrent users.  As you'd
> pointed rightly, there may be few seconds/minutes apart between each
> requests.

100 concurrent users. How long does it take each user to write the
message in average? That's the time span you want to process the
messages in. Assuming the users spending minutes writing, while scanning
is seconds, the actual load ist almost about entirely serial. No
concurrency. After all, there are 60 seconds in a minute...

Rule of thumb: 2 minutes writing, 2 seconds scanning. You can process 60
messages with a single SA child.

Not even close to how I understood your original question. Something
like that is possible even with very moderate hardware. And I kind of
hope your users spend more than 2 minutes per message... ;)


-- 
char *t="\10pse\0r\0dtu...@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}

Reply via email to