Large numbers in the qshape output represent a large number of
messages that are destined to (or alleged to come from) a particular
domain. It should be possible to tell at a glance which domains
dominate the queue sender or recipient counts, approximately when
a burst of mail started, and when it stopped.
The problem destinations or sender domains appear near the top
left corner of the output table. Remember that the
active queue
can accommodate up to 20000 ($
qmgr_message_active_limit) messages.
To check wether this limit has been reached, use:
$ qshape -s active | head (show sender statistics)
If the total sender count is below 20000 the
active queue is
not yet saturated, any high volume sender domains show near the
top of the output.
The
active queue is also limited to at most 20000 recipient
addresses ($
qmgr_message_recipient_limit). To check for exhaustion
of this limit use:
$ qshape active | head (show recipient statistics)
Having found the high volume domains, it is often useful to
search the logs for recent messages pertaining to the domains in
question.
# Find deliveries to example.com
#
$ tail -10000 /var/log/maillog |
egrep -i ': to=<.*@example\.com>,' |
less
# Find messages from example.com
#
$ tail -10000 /var/log/maillog |
egrep -i ': from=<.*@example\.com>,' |
less
You may want to drill in on some specific queue ids:
# Find all messages for a specific queue id.
#
$ tail -10000 /var/log/maillog | egrep ': 2B2173FF68: '
Also look for queue manager warning messages in the log. These
warnings can suggest strategies to reduce congestion.
$ egrep 'qmgr.*(panic|fatal|error|warning):' /var/log/maillog
When all else fails try the Postfix mailing list for help, but
please don't forget to include the top 10 or 20 lines of
qshape(1)
output.