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."