GreenArrow Documentation

Message Batching

GreenArrow is able to processes messages internally in batches for faster performance.

When message batching is enabled, all of the reports that show the number of “messages” in the ram-queue (such as hvmail_status status) will report the number of message batches instead of messages (although the label will still say “messages”).

This batching is available for messages sent through SimpleMH or sent using GREENARROW_RAW_INJECTION_FASTPATH.

Batching is disabled by default.

Settings

Batching is controlled with the following settings:

  1. /var/hvmail/control/opt.simplemh.batch.max_messages

    Maximum number of messages allowed in a single batch file.

    Default: 1

  2. /var/hvmail/control/opt.simplemh.batch.max_time

    Maximum time in seconds to wait for messages before closing a batch. This is needed because messages do not arrive in batches but need to be collected together into batches.

    Default: 1

  3. /var/hvmail/control/opt.simplemh.batch.max_bytes

    Maximum bytes to allow in a message batch.

    The default is automatically calculated from the queue.ram.ramdisk.size and queue.ram.ramdisk.messages to prevent exhausting the storage in the ramdisk queue. We strongly recommend using this default. You may enter the text default to get this default value.

These configuration files are automatically re-read each second.

Example

To enable batching, for example, run:

echo 10 > /var/hvmail/control/opt.simplemh.batch.max_messages
echo 2 > /var/hvmail/control/opt.simplemh.batch.max_time
echo default > /var/hvmail/control/opt.simplemh.batch.max_bytes

To disable message batching, run:

echo 1 > /var/hvmail/control/opt.simplemh.batch.max_messages