One of our clients uses a Zimbra server for corporate email and as a messaging system for their custom web application farm.

Recently, a coding error resulted in the web farm sending error message emails through Zimbra at a rate approaching one million messages per hour. The developers rectified the coding error quickly, but not before the Active queue had more than 360,000 emails in it.

The Zimbra server has a maximum throughput of about 20,000 emails per hour, so waiting for the Zimbra server to fully process the Active queue was less than ideal.

Both the Admin Console and the web interface functioned normally while the server's CPUs were pegged processing the Active queue, but to rectify things quickly the client's Zimbra admin wanted to delete the error message emails from the Active queue, rather than waiting for Postfix to process them.

Unfortunately, the Admin Console's Mail Queue screen could never finish refreshing. It didn't display any errors to the admin, but it never populated the Admin Console display with actual mail counts in the Active queue (nor in the Deferred queue for that matter as well).

I was able to run /opt/zimbra/postfix/sbin/mailq to completion, but I don't know how the Admin Console generates the queue data that it does. I let the Admin Console try to populate the Mail Queues window for about 20 minutes longer than it took mailq to complete, to no avail.

Do any large systems Zimbra Admins out there have experience with queues of this magnitude? Did we just not let the Admin Console run for as long as needed? Or should we file a bug report?