Improving Performance for Xeams

Xeams contains numerous features and filters for the administrators in order to help fight against spam emails. It is important to make sure Xeams is running smoothly as mis-configuration can make Xeams feel slow and unresponsive.

Please see the following tips to make Xeams fast and responsive:

Performance Tip #1

Check if Xeams is handling large messages
SMTP Servers are not designed to handle large messages. When a large email comes into Xeams, it needs significantly more resources to process the emails, including checking the filters. Having too many large emails in Xeams will slow down the server.

  • Check the Maximum global size and Maximum actionable size for the email. To check these values, go to the admin console for Xeams, hover your mouse over Filter Management, and click on Message Size.
  • We do not recommend setting the maximum actionable size to greater than 3 MB, since many spam emails are relatively low in message size.
  • Leave the max global email size to the default limit (25MB).
  • If you would like to send large attachments in an email, please see here for a solution.

Performance Tip #2

See if the Bayesian filter has too many entries
Bayesian is an adaptive filter that calculates the probability of a message being spam based on the history of its contents. If Bayesian has too many filters, then it will consume more memory, making Xeams less responsive.

  • Check if there are too many filters for Bayesian. To do this, go to the admin console for Xeams. Next, hover your mouse over Filter Management, and go to Adaptive Filters - Bayesian Filter.
  • Look at the values for "Total spam filters" and "Total good filters" and make sure these values do not exceed 1 million. If it is, go to the shrinking Wizard that is on the right side.

Performance Tip #3

Confirm the machine where Xeams is running is able to resolve its own hostname
Much of Xeam's configuration requires the machine to be able to resolve it's own hostname. If the machine is unable to do this, Xeams will run very slow. When Xeams starts, it outputs status entries in the Xeams.log file. This log file is located in your $INSTALL_DIR\logs directory.

If the machine is unable to resolve the hostname, you will see something like the following line in your Xeams.log file:

WARN xeams.ServerStarter - Unable to fetch local host name. This is a serious error that must be fixed. Ensure the network is correctly configured on the machine. unknown error

  • Make sure the machine where Xeams is running is able to ping itself. If it is not able to ping itself, one thing you can do is to modify the hosts file.
  • The hosts file is usually located in C:\Windows\System32\Drivers\etc\hosts in Windows, /etc/ directory on Linux.

Performance Tip #4

Prevent having too many filters
Although you can create many new content filters in Xeams, such as a sender filter, or a body filter, make sure to not add too many of them. Having an abundance of these new filters will slow down the filtering process in Xeams, especially if you are using Clustering.

  • For content filters (such as a body filter), put a temporary date so that it expires after some time.
  • Having IP filters is not recommended. Since IP addresses change all the time, this filter will not be effective over time.
  • Make sure the added filters are not invalid (such as incorrect regular expression, or syntax). Invalid filters will be displayed as errors in Xeams.log file.

Performance Tip #5

Don't use a slow DNS server
Many filters in Xeams, such as RBLs depend on the DNS lookups. If the DNS server is slow, the lookups will take much longer than intended, resulting in a slower server, and in-accurate lookups.

  • Although you can use a public DNS server, such as Google's, we do not recommend doing so. Instead, use the DNS server belonging to your ISP. Please see this page for more details.

Performance Tip #6

Increase maximum memory in Xeams
By default, the maximum memory allocated in Xeams is 512MB. You can check the status of the memory usage by going to the home page of the admin console, and scroll at the bottom. There will be a memory status graph with the total memory being displayed. If the used memory is close to the maximum memory, consider increasing the memory size in Xeams.

  • Please see here for instructions on changing the maximum memory.