Optimize the Number of Amavis Processes
How fast Amavis can process email is directly tied to Max servers option under Warden -> Settings -> Filter Settings. More information:
Enable a Local Caching DNS Resolver
You can speed up DNS queries used by Amavis by enabling a local caching DNS resolver. More information:
Enable the Redis Storage Engine
For very high volume servers we recommend switching from the default MySQL storage back end used for anti-spam Bayes learning to the Redis back end. More information:
Enable the plugin
This plugin will compile the SpamAssassin rules into native-code in order to provide significant speedups in rule evaluation. More information:
Whitelist Specific Senders
If you have certain senders that are sending out large amounts of email (newsletters) then you can exclude them from anti-spam scanning under Warden -> Settings -> Policy Banks. More information:
Disable the TxRep plugin (optional)
If your server processes a lot of email and your MySQL/MariaDB is overloaded you may want to disable the TxRep plugin as it will add about 10 additional DB queries per email and will slow down the the anti-spam learning (Amavis will still perform well with it disabled). You can disable it under Warden -> Settings -> Plugin Settings -> uncheck the TxRep checkbox and press the update button to apply the changes.
Disable the Real-time Learning in Warden (optional)
Servers with a lot of mailboxes may want to disable the real-time sieve learning in Warden as this will cut down on CPU usage during peak periods. Warden will then fall back to nightly learning during off hours. More information:
Optimize MySQL/MariaDB
Optimizing MySQL is outside the scope of this article but we recommend that administrators optimize MySQL/MariaDB using the Plesk Performance Booster found under Tools and Settings -> General Settings -> Performance Booster. More information:
Viewing the Processing Time
To view how long a message took to be processed by Amavis go to Warden -> Logs -> Message log and click on the plus icon next to an entry. The processing time will be listed at the end on the message (in milliseconds).