SmarterMail Server Performance Tuning

Ideally, when building out a mail server, you don’t want to build for now, but instead plan for the future. This is because mail servers have a year-to-year growth of about 20%, but that growth can be even higher if the server is particularly busy or hosting a large number of domains and/or users.

This planning goes beyond just following the System Requirements for SmarterMail, and applies to servers being set up as new standalone mail servers or those set up for migrations or conversions. In addition, it goes beyond just the hardware requirements and entails the settings and configuration of the product.

Below, we offer some guidelines for settings changes or adjustments within SmarterMail that can help System Administrators get their servers up and ready for immediate, and long-term, growth. NOTE: Some of these settings impact the amount of historical information stored within SmarterMail for users, so System Administrators will want to be aware of these so that they can inform Domain Administrators of the limitations set up at the server level.

Calendar Auto-Clean for Domains

By default, the calendar auto-clean setting for domains defaults to "never". This is to ensure that on migrations/imports/conversions that no data is lost. However, System Administrators should seriously consider enforcing some type of calendar auto-clean rules to help keep users' calendar JSON files from growing too large.

SmarterMail's calendaring system is extremely active behind the scenes to ensure appointments stay up-to-date based on changes to attendees, changes to dates and times, changes and modifications to recurring events, handling of exceptions and much more. For any calendar, but especially for large calendars or calendars with a large number of recurring events, this can greatly impact performance due to increased CPU and memory usage, disk reads and writes, and more. Depending on your installation, limiting calendar histories and setting auto-clean rules for even 12 months can help keep CPU and memory usage low as these auto-clean rules help keep those calendar files at a manageable size. If possible, setting it to 6 months or less is even more beneficial.

For more information on calendar responsiveness, please refer to the article, Improve Calendar Responsiveness

Folder Auto-Clean for Domains

System administrators can also add auto-clean rules for the default folders created by SmarterMail. These include the Sent Items, Deleted Items and Junk Email folders. Administrators can set rules by message size or by the age of the message. Keeping these folders clean by default keeps them from growing to unmanageable sizes.

Admins can create rules for the Inbox as well, but having system-wide settings for other folders is a better rule-of-thumb as emails in these folders are generally less important than messages in a user's inbox. Administrators, can, however, allow users to add auto-clean rules for their own Inbox.  

Daily Recycling of the App Pool

This process will disable the idle time-out associated with the application pool by default, allowing web interface users to remain logged in as long as their browser cookie exists. This will also configure a daily recycle time that will flush the contents of the application pool and reload SmarterMail components to ensure optimal web interface and EAS performance.

  1. Open the IIS Manager and navigate to Application Pools.
  2. Highlight the SmarterMail application pool and click the Advanced Settings button to the right.
  3. Under Process Model, set the Idle Time-out (minutes) value to 0.
  4. Under Recycling, set the Regular Time Interval (minutes) to 0.
  5. Under Recycling, click the box next to Specific Times and then click the ... button to configure the times.
  6. In the Timespan Collection Editor, click Add and configure a time for a regular recycle that will affect as few users as possible. For example, have the app pool recycle at 2:00 a.m. each morning. Click OK to add the time. (Example: 03:00:00 server time.)
  7. Click OK to save and close the settings.

Other Performance Enhancements

There are a few other things administrators can do as well to help the long-term stability of their SmarterMail server. These include:

  • Limit the max file size for items uploaded to File Storage. This setting can be found by logging in as a System Administrator and going to Settings > General. Here, you’ll look for the File Storage where you can set the max size as well as add extensions to the Extension Blacklist to prevent files of certain types being uploaded.
  • Limit a domain's max message size. (This setting can be found on the Limits card by logging in as an administrator and editing the domain.)
  • Implement throttling to keep high volumes of messages from being sent at any given time. (Administrators can add throttling rules for domains by editing the domain. Administrators can also add throttling rules per user by editing the user account.)  
  • Keep an eye on disk i/o, either by using tools on the server itself or even setting up events for SmarterMail's disk reports. Please refer to the blog post, Configuring Windows Performance Monitor to Capture Disk I/O Activity and Potential Disk Issues, for more information on using Windows PerfMon to monitor disk i/o.