Estou vendo problemas de desempenho com o postfix aceitando mensagens quando a fila já é grande, alguma sugestão?

Estou vendo problemas de desempenho com o postfix aceitando mensagens quando a fila já é grande, alguma sugestão?

Eu uso o postfix para fazer a entrega final de um sistema de correio que escrevi. Portanto, esta instalação do postfix só aceita mensagens minhas e é devolvida. Quando a fila do postfix está vazia, ela pode aceitar uma correspondência em 5 ms ou mais. Quando a fila tem cerca de 150 mil a 200 mil mensagens, a velocidade de transferência de mim para o postfix é muito lenta, como 50 a 100, às vezes 500 ms.

Tenho tempos de registro em cada parte da conversa SMTP, para poder ver para onde está indo o tempo. Parte disso ocorre quando estou aguardando uma resposta do comando RCPT TO, mas a grande maioria das vezes desaparece depois que envio o ponto final, antes de receber a resposta "250 ok na fila como ...".

Estou pensando que talvez o atraso do RCPT TO esteja em uma pesquisa de DNS, mas isso não me ajuda com o tempo de fila. Eu mantenho um soquete TCP aberto para todos os e-mails que estou enviando e RSET a conversa para cada e-mail, para que não perca tempo fazendo e interrompendo conexões TCP, tudo está esperando o postfix colocar a mensagem na fila.

Tudo o que li sobre o ajuste de desempenho do postfix tem a ver com gerenciamento de filas e envio de e-mails para este e aquele domínio aqui e ali. Mas estou preocupado em obter o postfix apenas para aceitar o e-mail rapidamente.

Existe alguma maneira de descobrir o que o postfix está fazendo com todo esse tempo ou existe uma maneira de torná-lo mais rápido? A fila /var/spool/postfix está no disco local, então não posso tornar isso mais rápido.

Alguma sugestão?

Responder1

Defina o seguinte emmain.cf

hash_queue_depth = 3
hash_queue_names = deferred, defer, incoming, active

Isso produz subdiretórios nas filas de entrada e ativas para que os diretórios simples não contenham todos os e-mails de uma vez. Eles agora são colocados em subdiretórios.

Mas observe: ter de 150 mil a 200 mil mensagens aguardando entrega mostra um entendimento errado e incrível de um envio equilibrado de e-mails. Isso me parece spam...

Responder2

Uma das soluções foi ter um servidor de correio secundário que tratasse de todos os bounces que estavam à espera de serem entregues, esta foi a melhor solução para manter o email real a funcionar.

Responder3

Esta é uma pergunta muito antiga, mas a tecnologia não mudou muito/as respostas existentes não são muito úteis.

Quando a fila tem cerca de 150 mil a 200 mil mensagens, a velocidade de transferência de mim para o postfix é muito lenta

Pela forma como esta questão é apresentada, parece que o OP está se referindo aoativoqueue aqui (o Postfix tem várias filas). E o Postfix está fazendo exatamente o que deveria fazer para evitar engasgos. A fila ativa é onde estão todas as coisas inteligentes com agendamento de entrega. Quando fica muito grande, o agendamento se torna o gargalo.

Quando você encontrar problemas de desempenho relacionados à carga, é uma boa ideia verificar as métricas de carga, CPU e io para ver se há um gargalo de hardware.

Onde você estiver operando uma retransmissão somente de envio, reduzir in_flow_delay aqui reduzirá a limitação de clientes. Mas você precisa manter baixo o tamanho da fila ativa. Limitar a taxa na qual as mensagens são passadas da fila de entrada para a fila ativa pode ajudar aqui. Mas a melhor solução é retirar as coisas da fila ativa com mais rapidez. A melhor coisa que você pode fazer aqui é um bom gerenciamento de reputação, DNS rápido e, se possível, distribuir o envio por vários endereços IP. A redução da frequência de novas tentativas também ajudará na taxa de preenchimento da fila ativa e nos provedores que limitam a aceitação com base na frequência das tentativas de conexão.

SPF, DMARC e DKIM (configurados corretamente) devem ser considerados essenciais.

Como todo mundo inventa seus próprios mecanismos para lidar com spam, sempre haverá exceções - para as quais você precisará configurar transportes personalizados.

informação relacionada