Conexão LDAP lenta no Apache?

1

Estou tentando solucionar o motivo pelo qual a primeira chamada em um serviço da Web leva mais de um minuto, quando a subsequente leva menos de um segundo (isso se repete a cada 10 minutos sem chamadas). Eu corri o Wireshark no servidor e a diferença que eu encontrei foi que o pedido lento chama o LDAP e o outro não. Na solicitação lenta, posso ver o Hello / Handshake do cliente / servidor e uma chamada LDAP. Então o servidor espera (ou endereça outras requisições) até EXATAMENTE 60 segundos depois (veja a figura abaixo), outra chamada para o LDAP é feita, imediatamente após o que a primeira linha do código começa a ser executada.

O fato de que leva exatamente 60 segundos TODAS AS VEZES me faz pensar que há um tempo limite envolvido em algum lugar, mas estou lutando com as configurações.

Outras solicitações não relacionadas ao serviço da web iniciam diretamente com a segunda chamada LDAP, mas essa solicitação REST está sendo punida por algum motivo.

Alguma ideia de como posso melhorar isso? Qualquer coisa será de muita ajuda. Obrigado

Veja o tempo de execução

    
por Edward 01.06.2018 / 03:16

1 resposta

0

Encontrou a causa: Parece que o Windows fecha a conexão LDAP após 15 minutos, mas o comportamento padrão do Apache parece tentar reutilizar a conexão indefinidamente. Se o Apache tentar reutilizá-lo depois que o Windows fechar a conexão, haverá um atraso de 60 segundos aguardando a conexão expirar, o que corresponde ao meu problema.

Muitos fóruns relatam que a redução de LDAPConnectionPoolTTL para um valor inferior a MaxConnIdleTime na configuração do Apache resolveu seus problemas, mas a única coisa que funcionou para mim foi defini-lo como 0, desabilitando a reutilização de todas as conexões existentes.

    
por 11.10.2018 / 20:11