Postfix 活动队列与 qshape

Postfix 活动队列与 qshape

我一直在 Postfix 文档和其他文档中徒劳地寻找,以了解 mailq 命令和 qshape 之间的输出差异。(根本问题是邮件传递速度慢。)

计算邮件队列中的邮件数量(mailq 命令的输出,或者查看 /var/spool/postfix/ 的子文件夹)

邮件投递 0
传入 0
活跃 4644
推迟 707
延期 698

我本来期望 qshape 命令能够得出与此类似的数字,但是它显示(当发出没有任何选项的 qshape 时,即 active + coming ):

# qshape
                                         温度 5 10 20 40 80 160 320 640 1280 1280+
                                  总计 32 0 2 0 10 4 8 8 0 0 0
                           mydomain1com 30 0 2 0 8 4 8 8 0 0 0
                          mydomain2.net 2 0 0 0 2 0 0 0 0 0 0

因此,根据 qshape 文档,这类似于“健康队列”的图片。

但是这难道不是告诉我活动队列中只有 32 封邮件,而 mailq 命令同时显示有 4644 封吗?这种差异到底是怎么回事?

或者说这种差异有诊断价值吗?

据我了解,活动队列中的邮件是 Postfix 当前尝试发送的邮件。如果该活动队列中有 4644 封邮件,则必须有大量“暂停”等待 SMTP 连接(即没有实际错误,例如“找到域”等) - 这是正确的还是有其他含义?

答案1

由于几乎不看qshape代码(它基于 Perl),因此此工具独立于mailq命令。它的工作原理是

  1. 直接扫描queue_directory的内容(/var/spool/postfix/就你的情况而言)
  2. 通过解析队列文件来检查文件内容的完整性。请参阅github 上的代码,特别是第 219-270 行(抱歉,我不太了解 Perl)

所以就你的情况来说,或许队列文件未通过健全性检查 2。

如果你感兴趣的话,最好把这个问题发布到 postfix 邮件列表上[电子邮件保护]qshape作者(Victor Duchovni)是该名单上的活跃成员。

相关内容