Como fazer o ajuste de desempenho para autenticação NTLM usando a configuração MaxConcurrentApi
Este artigo descreve como fazer o ajuste de desempenho para autenticação NTLM usando a configuração MaxConcurrentApi.
Número original do KB: 2688798
Introdução
Um aumento na consumerização da tecnologia da informação corporativa (aumento de dispositivos orientados ao consumidor, como smartphones e tablets usados na empresa corporativa) levou ao aumento do número de cenários em que as empresas podem experimentar um grande aumento na autenticação legada em seus ambientes corporativos. Esse aumento na autenticação herdada pode levar a problemas de desempenho, como atrasos ou tempos limite para clientes.
Quando você descobre tempos limite ou atrasos de autenticação (também conhecidos como gargalos MaxConcurrentApi) em um ambiente, a maneira típica de resolver o problema é aumentar o máximo permitido de threads de trabalho que atendem a essa autenticação. Você faz isso alterando o valor do Registro MaxConcurrentApi e reiniciando o serviço de Logon de Rede nos servidores.
Identificar quais servidores são vítimas do gargalo e quais servidores são realmente a origem dos atrasos do gargalo pode ser difícil. Este artigo descreve como fazer o ajuste de desempenho para autenticação NTLM (NT LAN Manager) usando a configuração MaxConcurrentApi. Este artigo contém diretrizes para administradores na identificação dos servidores nos quais gerar o valor MaxConcurrentApi e a quantidade para a qual esse valor deve ser definido.
Resolução
Importante
Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, certifique-se de seguir essas etapas com atenção. Para proteção acrescida, faça backup do Registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
322756 Como fazer o backup e a restauração do Registro no Windows
Para resolver esse problema, você deve examinar os dados de desempenho que foram obtidos de todos os servidores envolvidos no cenário. Em seguida, você pode tentar aumentar a configuração MaxConcurrentApi nos servidores que mostram uma perda de desempenho.
Há Netlogon
eventos disponíveis que relatam problemas de autenticação NTLM, consulte:
2654097 Novas entradas de log de eventos que rastreiam atrasos e falhas de autenticação NTLM no Windows Server 2008 R2 estão disponíveis
Os Eventos indicam atividade para dois contadores:
- Eventos 5818/5819: Existem "Garçons de Semáforo", se os eventos estiverem habilitados.
- Eventos 5816/5817: Há "Tempos limite de semáforo".
Para determinar o melhor valor MaxConcurrentApi para seus servidores, vários pontos de dados devem ser reunidos e calculados usando uma fórmula. Os dados a serem usados para estimar MaxConcurrentApi são os seguintes:
- O semáforo de logon líquido adquire
- Tempos limite do semáforo de logon de rede
- Tempo médio de espera do semáforo do Logon Líquido
- Duração do log de desempenho concluído, medido em segundos
Depois que os dados são obtidos, a seguinte fórmula pode ser usada para estimar o valor correto de MaxConcurrentApi:(semaphore_acquires + semaphore_time-outs) * average_semaphore_hold_time / time_collection_length = New_MaxConcurrentApi_setting <
Depois de coletar os dados de desempenho do Logon de Rede de quando o servidor estava sob carga de autenticação, você deve determinar a duração do processo de coleta de dados examinando os horários de início e término do Modo de Exibição de Linha.
Observação
Os espaços reservados semaphore_acquires e semaphore_time-outs representam números cumulativos que indicam quantos tempos limite ocorreram durante o tempo de vida de um canal de segurança. Portanto, os números provavelmente não começarão em zero nos dados coletados. O número inicial deve ser subtraído do número final quando você usa o Modo de Exibição de Linha no Monitor de Desempenho (Perfmon.msc). Em seguida, você usa esse número calculado na fórmula para a nova configuração MaxConcurrentApi. Para determinar o número de tempos limite que ocorreram durante a coleta de dados, use o Modo de Exibição de Linha em Perfmon.msc e posicione o ponteiro do mouse sobre a linha desse contador no final e no início e, em seguida, subtraia o número inicial do número final. Esse resultado é o número a ser colocado na equação.
O tempo médio de espera do semáforo pode ser determinado alterando a exibição padrão de Exibição de Linha para Exibição de Relatório em Perfmon.msc. Por exemplo, considere o seguinte cenário:
- O valor de aquisição do semáforo é 8.286.
- O valor de tempo limite do semáforo é 883.
- O tempo médio de espera do semáforo é
.5
(ou seja, meio segundo). - A duração do relatório é de 90 segundos.
Nesse cenário, a fórmula seria a seguinte:
(8.286 + 883) *0,5 / 90 =< 51
Se o valor derivado da fórmula for 150 ou maior, você deverá adicionar mais servidores para atender à carga de autenticação herdada.
Se o valor for menor que 150, você deverá alterar o valor do Registro MaxConcurrentApi nesse servidor para o valor sugerido pela fórmula ou para um valor maior.
Observação
Se você decidir aumentar o valor MaxConcurrentApi para maior que 10, a carga e o desempenho da configuração desejada deverão ser testados em um ambiente de não produção antes de implementar a alteração em um ambiente de produção. Isso é recomendado para garantir que o aumento desse valor não cause outros gargalos de recursos. Além disso, esteja ciente de que as condições de carga podem mudar com base em cada cenário e ambiente de negócios. Portanto, o valor MaxConcurrentApi pode ter que ter uma configuração diferente em uma data posterior se a carga de serviço for alterada.
Para alterar a configuração MaxConcurrentApi, siga estas etapas:
Clique em Iniciar e em Executar, digite regedit e clique em OK.
Localize e clique na seguinte subchave do Registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
No menu Editar, aponte para Novo e clique em Valor DWORD.
Digite MaxConcurrentApi e pressione Enter.
No menu Editar, clique em Modificar.
Digite a nova configuração MaxConcurrentApi em decimal e clique em OK.
No prompt de comando, digite o comando a seguinte e pressione Enter:
net stop netlogon
Digite o seguinte comando e pressione Enter:
net start netlogon
Mais informações
Você pode usar o seguinte artigo da Base de Dados de Conhecimento para identificar os sintomas do lado do cliente de gargalos de autenticação herdados com mais detalhes:
975363 Você é solicitado intermitentemente a fornecer credenciais ou experimentar tempos limite ao se conectar a Serviços Autenticados O gargalo de autenticação pode estar em vários servidores no cenário. Portanto, você deve garantir que todos os servidores em um determinado cenário tenham seus dados de desempenho revisados enquanto estão ocupados atendendo a cargas pesadas.
Os contadores para aquisição de semáforo, para tempos limite de semáforo e para tempo médio de espera de semáforo devem ser revisados em todos os servidores de aplicativos, controladores de domínio e controladores de domínio confiáveis envolvidos no atendimento de solicitações do cliente.
Os dados de desempenho devem ser rastreados enquanto os servidores estão sob carga pesada. A carga pesada ocorre quando os servidores veem a maioria das solicitações do cliente. Por exemplo, em um cenário de servidor de email, o melhor momento para coletar os dados de desempenho é quando os usuários chegam ao trabalho e verificam suas mensagens de email.
Os itens adicionais a serem considerados são os seguintes:
Nenhum valor significa que nenhuma ação é necessária. Os contadores Semaphore Holders e Semaphore Hold Time não mostrarão nenhum valor, a menos que haja carga sustentada em um servidor. Se não houver valores presentes, nenhuma alteração no valor MaxConcurrentApi será necessária.
Um tamanho não serve para todos. O valor MaxConcurrentApi pode ter que ser um valor diferente para cada servidor. Essa situação pode ser causada por vários servidores de aplicativos que obtêm autenticação de um único controlador de domínio ou por cenários semelhantes em que vários servidores fornecem um volume maior de carga com o qual o controlador de domínio deve lidar.
Confia. Se os usuários que estão sendo autenticados forem de domínios confiáveis, isso poderá causar atrasos maiores, pois o controlador de domínio local deve aguardar a resposta do controlador de domínio confiável antes que o controlador de domínio local forneça a resposta ao servidor de aplicativos.
Latência da rede. A latência de rede também pode desempenhar um papel importante na causa de gargalos MaxConcurrentApi. Esse problema pode ocorrer quando o semáforo MaxConcurrentApi usa um contador de tempo limite baseado em tempo para que os clientes não aguardem indefinidamente pela autenticação herdada.
Colocação. Se a latência de rede existir e estiver causando atrasos e gargalos na conclusão de threads MaxConcurrentApi, uma solução comum é colocar os servidores no mesmo local físico para que a latência de rede seja reduzida. Em um modelo de domínio no qual um domínio confiável tem servidores CAS do Microsoft Exchange, por exemplo, e o domínio do usuário está em outra região ou site do Active Directory, isso significaria colocar os controladores de domínio do usuário no mesmo local físico e site do Active Directory que os servidores CAS do Exchange e seus controladores de domínio.
Possível atraso a jusante. Se o valor do contador Semaphore Waiters for continuamente maior que 0 (zero) a qualquer momento e o valor Semaphore Holders for menor que a configuração MaxConcurrentApi nesse servidor, o gargalo não estará localizado nesse servidor. Nesse caso, examine o controlador de domínio citado no nome do contador listado como um nome de domínio totalmente qualificado do computador host. Os dados de desempenho dos Garçons de Semáforo e dos Titulares de Semáforo desse controlador de domínio devem ser revisados.
Alterações na carga ou na configuração da rede. Alterações futuras na carga que está sendo atendida ou nas configurações de rede podem produzir latência de rede e podem levar à necessidade de medir a configuração correta de MaxConcurrentApi novamente. Para ambientes nos quais o volume de autenticação herdado é visto na medida em que as configurações de MaxConcurrentApi estão sendo examinadas, é altamente recomendável que você monitore e examine continuamente os contadores de objeto de desempenho de Logon de Rede. Você pode fazer isso usando coletores de dados Perfmon.msc personalizados agendados, usando o Microsoft System Center Operations Manager ou usando outros métodos.
Windows Server 2008 máximo. A configuração máxima permitida para MaxConcurrentApi no Windows Server 2008 e em versões posteriores do Windows é 150. Aplique o hotfix descrito no seguinte artigo da Base de Dados de Conhecimento para ter a configuração máxima de 150 disponíveis se o servidor que você está usando não estiver executando o Windows Server 2008 R2:
975363 Você é solicitado intermitentemente a fornecer credenciais ou experimentar tempos limite ao se conectar a Serviços AutenticadosWindows Server 2003 máximo. A configuração máxima permitida para MaxConcurrentApi no Windows Server 2003 e em versões anteriores é 10.
Windows Server 2012 e padrões mais recentes. O padrão para MaxConcurrentApi foi alterado no Windows Server 2012. É 10 para servidores membros e controladores de domínio. Permanece em 1 para estações de trabalho de membros.
Windows Server 2003 e contadores de desempenho. A versão original do Windows Server 2003 não continha os contadores de desempenho de Logon de Rede. Você pode aplicar um hotfix para adicioná-lo.
A identificação de clientes ou serviços não autorizados ou desconhecidos que estão executando autenticação NTLM repetida e contínua pode ser útil quando você deseja reduzir a carga geral de autenticação NTLM e, portanto, diminuir o número de usos de semáforo MaxConcurrentApi. A autenticação repetida dessa maneira pode ser identificada usando o log de depuração do serviço Logon de Rede. Para obter mais informações sobre como usar o arquivo Netlogon.log para depurar o serviço de Logon de Rede, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
109626 Habilitando o log de depuração para o serviço de Logon de Rede
O contador Perfmon.msc para autenticações NTLM no objeto Security System-Wide Statistics não é um reflexo do número de usos do thread rastreado MaxConcurrentApi. Não há nenhuma correlação de um para um entre o uso do semáforo MaxConcurrentApi mostrado no contador de desempenho de Logon de Rede e os incrementos do contador de autenticação NTLM. O contador de autenticação NTLM não é útil para determinar o melhor valor MaxConcurrentApi.
Além disso, é provável que os tempos limite de desempenho de autenticação herdados relacionados a MaxConcurrentApi sejam vistos, mas não refletidos em nenhum contador de desempenho diferente do contador de Logon de Rede. Isso significa que outras métricas de desempenho, como uso da CPU e uso de disco e rede, podem não mostrar carga, mesmo que a carga MaxConcurrentApi seja pesada e os usuários estejam tendo problemas.
Um procedimento de minimização adicional pode ser executado em controladores de domínio que têm entradas em seu log de depuração do serviço Logon de Rede que indicam que os clientes estão enviando <null>\username
em vez de domainname\username
. Esse procedimento é descrito no seguinte artigo na Base de Dados de Conhecimento Microsoft:
923241 O processo Lsass.exe pode parar de responder se você tiver muitas relações de confiança externas em um controlador de domínio do Active Directory