It's running only 20 parallel qmail-remote processes.
Decide how many deliveries you want to allow at once. Put that number into
control/concurrencyremote. Restart qmail-send as in question
How do I safely stop qmail-send?.
Make sure you set the descriptors or openfiles resource limit to at
least double the concurrency plus 5, and the maxproc resource limit (if
your system has one) to at least the concurrency plus 4. Otherwise qmail will
unnecessarily defer deliveries whenever a big burst of mail shows up.
Note that qmail also imposes a compile-time concurrency limit, 120 by
default. You can change this in conf-spawn at compile time.
Yes. qmail-send stores message retry times in a priority queue
(using 8 bytes of RAM per queued message---for example, 0.8MB if you have a
gigantic queue of 100000 messages) so that it can rapidly find the next message
that needs to be delivered.
qmail's queue directories are split into 23 subdirectories, so the operating
system's namei() searching takes negligible time even when there are
thousands of queued messages.
The main limit on queue size is disk space. Each message uses one inode under the qmailq user, a few inodes under the qmails user, and several blocks of data depending on the message size. (If you want to limit the queue size, simply put an inode quota on the qmailq user.)
Yes. qmail has three backoff features: