SmarterMail Server Performance Tweaks

There are times, especially when running higher-volume servers, that system administrators will see an increase in CPU and/or memory usage. To help limit this, there are some performance settings that can be used within SmarterMail to help limit the potential for these spikes to be seen. NOTE: Some of these settings impact the amount of historical information stored within SmarterMail for users, so system admins 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 12 months. To help keep the associated JSON files used for users' calendars from growing too large, that can be set to a shorter timeframe. Depending on your installation, limiting calendar histories to 6 months, or even 3 months, can help keep CPU and memory usage low by keeping those calendar files at a manageable size.

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

Indexing Settings

If SmarterMail is running on a server that has an abundance of disk space, changing the "Segment Count Before Optimizing" setting can help keep a server performing well, even for larger installations. By increasing this setting, the SmarterMail indexer will store more segments on disk every time it indexes a mailbox. When it reaches that count, it performs a merge with a new segment. This is the optimization of the index, and so this merge can cause CPU to rise. So the higher the Segment Count, the less merges are required, meaning less CPU usage. The setting you use is dependent on how the server is running. Increasing to 200 is what we use on our own mail server, but we have customers who have increased the count to 1000 or more.

This setting can be found on the Indexing card by logging in as a system administrator and going to Manage > Troubleshooting > Options tab. By default, the Segment Count is 20.

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 Tweaks

There are a few other things administrators can do as well. These include:

  • Limiting the max file size for File Storage. (This setting can be found on the File Storage card by logging in as an administrator and going to Settings > General.)
  • Limiting 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.)
  • Implementing 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.)  
  • Keeping 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.