qmail processes messages on a first-come-first-served basis. This means that when it receives a post to 100,000 subscribers, it will try all the recipients before processing the next message. Often, it is desirable to offload this work to an external host so that the main list host remains responsive to e.g. ‘subscribe’ and archive access commands, as well as to other mail is it is not a dedicated mail host.
ezmlm-idx allows the main distribution work to be offloaded to an external server via the QMQP protocol. Configure qmail-qmqpc(1) on the list host, and qmail-qmqpd(1) on the mail host (see qmail docs for details), then create the file DIR/qmqpservers/0. The list housed in DIR will now use the QMQP server for posts. The local qmail is used for other messages in versions prior to 7.1. If you apply the qmail-qmqpc.tar.gz patch to qmail (included in the ezmlm-idx distribution), you can specify the QMQP server IP addresses, one per line, in DIR/qmqpservers/0, just as you normally would in /var/qmail/control/qmqpservers. If the first server cannot be contacted, the installation will try the second, and so on. The advantage of controlling the servers locally is that you can specify different servers for different lists. A good idea is to set up also the list host as a QMQP server and use that as the last IP address. This way, the list host will be used if the main QMQP server cannot be contacted. Of course, ezmlm does not loose messages, but rather lets qmail redeliver the post if no QMQP server is available.