MultiQueue
Overview
MultiQueue is a feature that allows GreenArrow Studio to queue messages to GreenArrow Engine more efficiently. This reduces CPU and memory IO overhead.
MultiQueue is disabled by default because it is in beta. When the caveats are removed this it will be enabled by default.
Enabling MultiQueue
-
Set the
/var/hvmail/control/studio.use_direct_injection.batch_size
file equal to the maximum number of messages which Studio should write to the same file. For example, to set this limit to 20, run:echo 20 > /var/hvmail/control/studio.use_direct_injection.batch_size
-
Update the ram-queue’s size to be one of the options whose name ends in
_multiqueue
. -
Restart Studio’s worker to apply changes:
svc -t /service/hvmail-studio-worker sleep 7 svstat /service/hvmail-studio-worker
Disabling MultiQueue
-
Delete MultiQueue’s configuration file:
rm -f /var/hvmail/control/studio.use_direct_injection.batch_size
-
Update the ram-queue’s size to be one of the options whose name does not end in
_multiqueue
. -
Restart Studio’s worker to apply changes:
svc -t /service/hvmail-studio-worker sleep 7 svstat /service/hvmail-studio-worker
Caveats
-
Messages will be queued in batches, and some of Engine’s reporting does not differentiate between a message batch and the messages in that batch. For example, the
hvmail_status
command will report each message batch as a single message. -
When GreenArrow Engine is running at speed capacity with a fully utilized ram-queue, enabling MultiQueue will cause Studio will be able to “hog” a larger percentage of the total system capacity compared to non-Studio email sent through Engine.