Quantas conexões simultâneas o SendMail permite / abre ao retransmitir mensagens novas (e adiadas) para um MTA downstream comum?

1

Eu tenho vários servidores Sendmail que transmitem muito (centenas de milhares) de e-mails registrados para um repositório de repositório downstream via SMTP. Todos esses e-mails têm o mesmo domínio de destinatário (vamos chamá-lo de "fooarchiveproviderdomain.com"). Do meu lado, tenho uma rota simples definida em /etc/mail/mailertable para o domínio do arquivo:

fooarchiveproviderdomain.com    esmtp:[1.1.1.1]:[2.2.2.2]

Ultimamente, tenho notado que o MTA downstream primário (1.1.1.1 no meu exemplo acima) ficará sobrecarregado e às vezes não retornará uma saudação de banner em tempo hábil. Do meu lado, o Sendmail vai lançar um erro no maillog como:

timeout waiting for input from [1.1.1.1] during client greeting

Após o tempo limite, vejo o sistema enviando para a rota de backup (2.2.2.2 no meu exemplo acima) e sendo imediatamente aceito.

Estou razoavelmente certo de que isso está relacionado à carga, pois esses tempos limite ocorrem mais durante o horário comercial de pico. Dito isso, quero entender quantas conexões meu servidor está iniciando ao processar novos e-mails e mensagens anteriormente enfileiradas, todas destinadas ao mesmo domínio.

Eu acho que o sendmail repete mensagens enfileiradas em arquivo único, certo? Então, se eu tiver, por exemplo, 10.000 emails adiados, mensagens ... o queuerunner não irá iniciar 10000 conexões simultâneas ... ele apenas emitirá uma?

Eu também acho que as novas mensagens recebidas que chegam em sessões SMTP separadas são tratadas separadamente, certo? Então, se, digamos, uma caixa sendmail receber 15 novas mensagens separadas, cada uma será manipulada por um daemon filho separado do sendmail que iniciará suas próprias conexões SMTP separadas para o MTA downstream?

Existe um meio de restringir conexões simultâneas a jusante sem afetar a quantidade de conexões de entrada que meu servidor pode manipular?

    
por Mike B 23.09.2015 / 21:50

1 resposta

2

Você pode

1) pular seletivamente tentativas de entrega "ao mesmo tempo" usando dsmtp mailer
(eles produzem "uma mensagem por uma sessão smtp" entregas).

mailertable entry:

fooarchiveproviderdomain.com    dsmtp:[1.1.1.1]:[2.2.2.2]

2) Use o RECURSO (queuegroup) para selecionar o grupo de filas personalizadas para entregas em fooarchiveproviderdomain.com

3) escolha entre várias opções como ajustar as entregas dos grupos de filas, por exemplo por meio dos parâmetros do grupo de filas R=2 (dois corredores paralelos = duas sessões SMTP por grupo de filas executadas) e I=12m (mensagens de processo no grupo de filas a cada 12 minutos)

Você pode reduzir atrasos sem tentativas de entrega "ao mesmo tempo" usando corredores de fila persistentes. link

Comentário : alterar COMO as mensagens são enviadas por "app de diário" é outra opção.

    
por 24.09.2015 / 19:24