Iniciar uma conversa

Sessão SMTP aberta por longo período de tempo

Se você está tendo problemas com sessões SMTP que ficam abertas por muito tempo, tornando seu servidor lento ou esgotando conexões, siga a orientação abaixo.

G
aranta que log do SMTP esteja em modo depurado (veja em Sistema/Serviços).

Em seguida, ative logging do fluxo de correio, em Sistema/Geração de Logs/aba Depurado/"Logs do fluxo de correio, fila e processamento". O objetivo é ter um log detalhando tudo que ocorre ao receber um e-mail para processamento.

Dessa forma, são gerados logs em icewarp\logs\queue\data.log, onde você pode descobrir em que estágio a sessão está travando. Tais logs podem ser visualizados em Status/Logs/log de Fluxo de correio.

O log aparece da seguinte forma:

SYSTEM [165C] 11:36:48 Message JOO40048 127.0.0.1
SYSTEM [165C] 11:36:48 Size filters end [00]
SYSTEM [165C] 11:36:48 Antivirus begin
SYSTEM [165C] 11:36:51 Antivirus end [00]
SYSTEM [165C] 11:36:51 Antispam begin
SYSTEM [165C] 11:36:51 Antispam end
SYSTEM [165C] 11:36:51 Content filters begin
SYSTEM [165C] 11:36:51 Content filters end [00]
SYSTEM [165C] 11:36:51 Rules begin
SYSTEM [165C] 11:36:51 Rules end [00]
SYSTEM [165C] 11:36:51 Antispam finalization begin
SYSTEM [165C] 11:36:51 Antispam finalization end
SYSTEM [165C] 11:36:51 Delivery
SYSTEM [165C] 11:36:51 Done


Quando você visualiza uma sessão de longa duração no monitoramento de sessões, simplesmente encontre o thread ID (165C no exemplo acima) e encontre-o no log SMTP (que deve estar em modo depurado, verifique em Sistema/Serviços).

Existe, ainda, a opção "Desempenho do sistema", também em Sistema/Geração de Logs/aba Depurado/Desempenho do sistema (Realizar log de ações que excedem tempo em seg.). Informe o número 3, de forma que IceWarp irá gerar logs em icewarp/logs/performance indicando aspectos que estão demorando mais de 3 segundos no processamento. Além disso, em Arquivo/Console API, faça uma busca por "performancelevel" e altere o valor de tal constante para "10" (sem aspas), a fim de ter um detalhamento maior.

Veja um exemplo, no qual o log do fluxo de correio não ajudou muito.

- Log SMTP (trecho onde há demora)

201.63.122.98   [2770] 15:40:58 Start of mail processing

- Log do fluxo de correio (apenas respectivo trecho onde há demora)

SYSTEM          [2770] 15:40:58 HandleLocalMail  Begin
SYSTEM          [2770] 15:41:28 HandleLocalMail  End

Veja, entretanto, que o log de desempenho (status/logs/desempenho), auxiliou a determinar o que causava a demora:

SYSTEM          [2770] 15:40:58 SMTP: :25 s.  waiting for ThreadLock(3) UserStatisticsUnit_61, waited for 486 instances

No caso, trata-se da opção User Statistics, que contabiliza e-mails recebidos/enviados por contas e pode ser desativada em Status/Estatísticas de Usuários/checkbox "ativar logs de estatísticas para todas as contas" (ou via API, busque por "user statistics" e dê duplo clique para que fique falso, desativado). Desative tal recurso temporariamente.

Após o problema resolvido, desative os logs debug, a fim de preservar performance.

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Flávio Zarur Lucarelli

  2. Publicado
  3. Atualizado

Comentários