On Tuesday, March 21, 2006 at 2:54:19 PM, [EMAIL PROTECTED] confabulated:

> Greetings,

> I'm looking for some fine tuning help.  It seems that we are currently
> I/O limited due to the massive load spamassassin puts on the bayes
> database.  The database is currently about 3.5 Gig, including indices.

I  am  using a per-user configuration here and my DB size currently is
sitting at just over 10 gig. All of the tables within the MySQL schema
are  using  the  InnoDB storage instead of the MyISAM. I am also using
the  SA  plugin  for  caching  with  MySQL  that  can  be  found here:
http://wiki.apache.org/spamassassin/DBIPlugin?highlight=%28DBI%29
Everything  has  been  running  without any issues so far for the past
couple  months. My bayes_vars table has 14,102 rows which would be the
same equivalent as 14,102 e-mail accounts.

> I have a few questions regarding the operation of Bayes.

> 1) How effective is it really?  Will users likely notice a huge change
> if bayes was disabled?

I,  like  another  response,  will start to get customers e-mailing me
asking why they started receiving more Spam than normal.

> 2) Purging.  I know bayes purges itself regularly.  However, if a user
> is removed from the mail server, and bayes is never run for that user
> again, will those tokens automatically be purged after a time?  Or
> will they be stuck there forever?  In the case of the latter, how do I
> manually purge those?

I  usually  have manually removed the table rows myself using a simple
SQL statement. This will get implemented into our system soon for when
an  e-mail  is  removed  from the server, the corresponding table rows
will get removed from the bayes filtering. Here is an example of how I
removed an account from the tables:

This  will remove all tokens from the bayes_token table for a specific
account (username) in the bayes_vars table:

    delete from bayes_token where id = (select id from bayes_vars where
    username = '[EMAIL PROTECTED]');

Using the same syntax you can then do the same for the other tables
that need to have items removed:

    delete from bayes_seen where id = (select id from bayes_vars where
    username = '[EMAIL PROTECTED]');

    delete from bayes_expire where id = (select id from bayes_vars
    where username = '[EMAIL PROTECTED]');

    delete from awl where username = (select username from bayes_vars
    where username = '[EMAIL PROTECTED]');

Then, finally removing the account from bayes_vars:

    delete from bayes_vars where username = '[EMAIL PROTECTED]';

> 3) Any thoughts on speeding up the database calls?  Is faster hard
> drives/clustering my only option?

Check out http://wiki.apache.org/spamassassin/DBIPlugin?highlight=%28DBI%29
if you haven't as of yet.

> Thanks!

> --
> Jason 'XenoPhage' Frisvold
> [EMAIL PROTECTED]



-- 
"This message is made of 100% recycled electrons."

Reply via email to