DIST_FORWARD

This configuration variable enables and tunes Distribute workers and is a tuning feature for embedded mail-merge.

DIST_FORWARD=smtp.example.com 2*smtp2.example.com
DIST_FORWARD_THRESHOLD=200
DIST_FORWARD_MINSIZE=250

Configuring many SMTP workers through the SMTP_FORWARD_n site configuration parameter will help speed up the delivery of the many individual mail files generated with the embedded mail-merge feature. However, in very high volume situations, it may also be desirable to off-load the work of generating the many individual mail files to one or more separate servers.

This can be done by configuring additional LISTSERV instances to be "Distribute workers". The primary LISTSERV instance can quickly divide and delegate the mail-merge responsibility among its workers and get on with its own work while the "workers" take care of the brute-force generation of the individual mail messages, which are then delivered by the workers' SMTP workers. By using several Distribute workers, not only does the primary instance's availability increase, but the deliveries can be forwarded to the SMTP server much faster because multiple messages are being generated in parallel, instead of one at time.

In most cases, each instance will run on a separate, dedicated server, but this is not a requirement. On a very large server with many CPUs and as many independent disk drives, it could make sense to run multiple instances on the same server.

Each instance requires a separate license. Since this feature is intended for processing large volumes, the primary instance must be running with an HPO license. The "worker" instances must have either HPO licenses (in which case they can also act as standalone LISTSERV hosts), or special SCOPE=DISTWORKER licenses (in which case they are dedicated DISTRIBUTE workers).

Distribute workers are enabled with two options set in the primary instance's site configuration:

DIST_FORWARD=[[n*]hostname [[n*]hostname [...]]
This is a space-separated list of all your Distribute workers.

DIST_FORWARD_THRESHOLD=nnn
This setting is optional and defaults to 100. It defines the minimum number of total recipients to make use of the workers. It would be inefficient to forward a message with one recipient to a worker so that it could deliver it for you.

DIST_FORWARD_MINSIZE=nnn
This setting is optional and allows you to limit the use of Distribute workers to oversized messages. If specified, DIST_FORWARD_MINSIZE is the minimum message size (in kB) to make use of the Distribute workers. Jobs below that size are processed locally.

For host name, you can specify just the host name if the userid is LISTSERV. If the userid is not LISTSERV, then you must specify a full RFC822 email address pointing to the USERID address for that server.

Optionally, you can specify a weight (the "n" parameter), which defaults to 1. The number of recipients sent to a particular server is proportional to its weight. The weight must be greater than zero. If a particular server is specified multiple times, the weights are added.

By default, the primary server also takes one share of recipients. In other words, it has a weight of 1. You can change that using the special hostname SELF. So, if you want a double share for your primary LISTSERV because it runs on a bigger server, just add 2*SELF to the list. SELF is the only worker allowed to have a weight of zero. In this case, nothing is processed locally (except for jobs that are below the threshold). For very large mail-merge volumes, 0*SELF is recommended.

A worker cannot delegate jobs to sub-workers, but the primary instance can drive any number of workers.




LISTSERV® is L-Soft's email list management software, originally developed by Eric Thomas in 1986. Visit the LISTSERV® Resource Center for more complete documentation.

LISTSERV® is a registered trademark. The trademark identifies LISTSERV® as a brand of email list management software developed by L-Soft.