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:

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

Create DWORD: Cluster Mode

Decimal value = 3

SMTP service:

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

Create DWORD: Cluster Mode

Decimal value = 3

Postoffice Connector:

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

Create DWORD: Cluster Mode

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.

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\