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?