Um dos destinos para os quais envio e-mails possui características de desempenho incomuns. A fila ativa pode ficar cheia de mensagens para este domínio, bloqueando o envio para outros domínios. Quero limitar o número de slots na fila ativa usada por este domínio.
Como medida temporária, o tráfego para este domínio é roteado através de um relé dedicado onde defino:
default_recipient_refill_limit=50
default_recipient_limit=1000
O limite superior do tamanho da fila ativa ainda é o padrão 20.000. Depois de alterar main.cf conforme acima, executei um postfix check
e systemctl reload postfix
. Os logs mostram o evento de recarga.
Porém, meu monitoramento mostra que algumas horas depois, a fila Ativa saltou para 20.000 em uma janela de 2 minutos. ou seja, nem a taxa nem o limite máximo para as mensagens parecem ter sido aplicados. Permaneceu em 20.000 por vários minutos.
O monitoramento é feito por check_MK - e embora eu possa facilmente acreditar que ele poderia estar relatando uma contagem da fila de entrada e da fila ativa, o platô em 20.000 sugere o contrário.
O que estou perdendo aqui? / Como posso limitar o número ou a rapidez com que as mensagens são movidas de recebidas para ativas?
(Preciso de uma solução que possa implementar usando transporte personalizado, para poder mover o tráfego de volta através da retransmissão compartilhada).
Este é o Postfix 2.10 rodando no Amazon Linux 2, não há listas de distribuição configuradas no MTA que seriam expandidas na fila ativa. Observe que NÃO estou perguntando como entregar e-mails para este domínio com mais rapidez - estou perguntando como limitar o número de mensagens associadas na fila ativa.
Após uma investigação mais aprofundada, parece que não há maneira de limitar as mensagens adicionadas à fila ativa ALÉM do número definido em $qmgr_message_active_limit.
As diretivas listadas acima tratam da expansão das listas de entrega depois que a mensagem está na fila ativa.
Foi sugerido que a resposta apropriada seria tornar a fila ativa MUITO maior, porém existe o risco de encontrar o OOMKiller em tal cenário.