ME020502 - INF: Queue and clustering details. Ways to improve the sharing mode of clustering.


SUMMARY

The following knowledgebase article only applies to versions of MailEnable Enterprise and Enterprise Premium.

Any service which polls a queue for messages to perform an action on needs to be aware of the fact that the system may be running as a cluster, as only one service at a time can scan the same queue. For example, if you have multiple SMTP services in a cluster, they will all use the same outbound queue, but only one can actually be scanning the contents for messages to deliver at once. The services control which one is scanning the queue by locking a file in the common configuration directory. Other services will wait until they can get a lock on the queue before they do the scan.

The scan is not the actual send though. As the service does its run through the queue it will pick up as many messages it can (controlled by the thread count) in order to send. It will release the queue to another service, or itself again if that is the case, but the emails it picked up before can still be in the process of sending. Since the queue is only scanned for items to process by one server at a time, the load will not look like it is being shared. This behaviour can be altered by a registry key setting which will allow the MTA and SMTP service's to run consecutively on different servers. These registry key's are not set by default as it will only help when a server is in a cluster (if the server is not in a cluster, it will hinder the queue processing slightly).

DETAIL

MTA agent:

  1. Navigate to the following branch: HKEY_LOCAL_MACHINE\Software\Mail Enable\Mail Enable\Agents\MTA or on 64bit Windows HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mail Enable\Mail Enable\Agents\MTA
  2. Create DWORD: Cluster Mode
  3. Decimal value = 3

SMTP service:

  1. Navigate to the following branch: HKEY_LOCAL_MACHINE\SOFTWARE\Mail Enable\Mail Enable\Connectors\SMTP or on 64bit Windows HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mail Enable\Mail Enable\Connectors\SMTP
  2. Create DWORD: Cluster Mode
  3. Decimal value = 3

Postoffice Connector:

  1. Navigate to the following branch: HKEY_LOCAL_MACHINE\SOFTWARE\Mail Enable\Mail Enable\Connectors\SF or on 64bit Windows HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mail Enable\Mail Enable\Connectors\SF
  2. Create DWORD: Cluster Mode
  3. Decimal value = 3

 

MORE INFORMATION

The block files that MailEnable use are located in the Mail Enable\Config\Cluster directory. There is two files for each service and each queue. One, with the extension .ACT, shows the active server that is scanning the queue, and the BLK extension file is the actual block file. These files will always exist, as when the services are not running they are still left there. If a service is running the BLK file will always be locked while a scan is being performed.

You are able to disable clustering ability altogether, by adding the following registry key and restarting the mail services. Do not disable clustering if you are actually clustering, as it will cause problems with file contention.

  1. Navigate to the following branch: HKEY_LOCAL_MACHINE\SOFTWARE\Mail Enable\Mail Enable\ or on 64bit Windows HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mail Enable\Mail Enable\
  2. Create DWORD: Cluster Status
  3. Set value to Decimal value = 0

 



Product:MailEnable (All Versions)
Category:Other
Module:General
Keywords:queues cluster clustering
Class:INF: Product Information
Revised:Wednesday, May 4, 2016
Author:
Publisher:MailEnable