Como fazer ajuste de desempenho para autenticação NTLM usando a configuração MaxConcurrentApi

Este artigo descreve como fazer ajuste de desempenho para autenticação NTLM usando a configuração MaxConcurrentApi.

Aplica-se a: Windows Server 2012 R2
Número de KB original: 2688798

Introdução

Um aumento na consumização da tecnologia da informação corporativa (aumento de dispositivos orientados ao consumidor, como smartphones e tablets usados na empresa corporativa) levou a aumentar o número de cenários em que as empresas podem experimentar um grande aumento na autenticação herdada em seus ambientes corporativos. Esse aumento na autenticação herdada pode levar a problemas de desempenho, como atrasos ou tempo limite para clientes.

Quando você descobre tempo limite de autenticação ou atrasos (também conhecidos como gargalos MaxConcurrentApi) em um ambiente, a maneira típica de resolve o problema é gerar os threads máximos de trabalho permitidos que servem essa autenticação. Você faz isso alterando o valor do registro MaxConcurrentApi e reiniciando o serviço de Logon Net nos servidores.

Identificar quais servidores são vítimas do gargalo e quais servidores são, na verdade, a origem dos atrasos de gargalo pode ser difícil. Este artigo descreve como fazer ajuste de desempenho para autenticação do NTLM (NTLM) usando a configuração MaxConcurrentApi. Este artigo contém diretrizes para os administradores na identificação dos servidores nos quais aumentar 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, siga essas etapas cuidadosamente. Para mais proteção, faça o 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 resolve esse problema, você deve examinar os dados de desempenho retirados de todos os servidores envolvidos no cenário. Em seguida, você pode tentar aumentar a configuração MaxConcurrentApi nesses servidores que mostram uma perda de desempenho.

Netlogon eventos disponíveis que relatam problemas de autenticação NTLM, confira:
2654097 Novas entradas de log de eventos que acompanham 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: Há "Garçons semafóricos", se os eventos estiverem habilitados.
  • Eventos 5816/5817: há "Tempo 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:

  • Semafófono net logon adquire
  • Tempo limite de semáforo de logon líquido
  • Tempo médio de espera de semáforo do Logotipo Líquido
  • Duração do log de desempenho que é concluído, medido em segundos

Depois que os dados são obtidos, a fórmula a seguir pode ser usada para estimar o valor MaxConcurrentApi correto:(semaphore_acquires + semaphore_time outs) * average_semaphore_hold_time / time_collection_length = <New_MaxConcurrentApi_setting
Depois de coletar os dados de desempenho do Net Logon 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 tempo 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 tempo limite que ocorreu durante a coleta de dados, use Modo de Exibição de Linha em Perfmon.msc e coloque o ponteiro do mouse sobre a linha para esse contador no final e na inicialização e 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 de semáforo pode ser determinado alterando a exibição padrão de Modo 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 de semáforo é 8.286.
  • O valor de tempo limite de semáforo é 883.
  • O tempo médio de espera de 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) *.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 devem ser testados em um ambiente de não produção antes de implementar a alteração em um ambiente de produção. É recomendável que o aumento desse valor não cause outros gargalos de recursos. Além disso, lembre-se de que as condições de carga podem ser alteradas 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:

  1. Clique em Iniciar e em Executar, digite regedit e clique em OK.

  2. Localize e clique na seguinte subchave do Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

  3. No menu Editar, aponte para Novo e clique em Valor DWORD.

  4. Digite MaxConcurrentApi e pressione Enter.

  5. No menu Editar, clique em Modificar.

  6. Digite a nova configuração MaxConcurrentApi em decimal e clique em OK.

  7. No prompt de comando, digite o comando a seguir e pressione Enter:
    net stop netlogon

  8. Digite o comando a seguir 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 para credenciais ou tempo limite de experiência quando você se conecta aos 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 estiverem ocupados atendendo cargas pesadas.

Os contadores para aquisição de semáforo, para tempo limite de semáforo e para tempo de espera de semáforo médio devem ser revisados em todos os servidores de aplicativo, controladores de domínio e controladores de domínio confiáveis envolvidos na manutenção de solicitações de 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, a melhor hora para coletar os dados de desempenho é quando os usuários chegam ao trabalho e marcar suas mensagens de email.

Itens adicionais para consideração 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 uma carga sustentada em um servidor. Se não houver valores presentes, nenhuma alteração no valor MaxConcurrentApi será necessária.

  • Um tamanho não se encaixa em 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 aplicativo que ganham 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 mais longos, 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 aplicativo.

  • Latência de 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 no site do Active Directory que os servidores CAS do Exchange e seus controladores de domínio.

  • Possível atraso downstream. Se o valor do contador Garçons semafóricos for continuamente maior que 0 (zero) para qualquer momento e o valor semafórico holders for menor que a configuração MaxConcurrentApi nesse servidor, o gargalo não estará localizado nesse servidor. Nesse caso, procure 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 de Garçons semafóricos e semafóricos do controlador de domínio devem ser revistos.

  • Alterações na carga ou na configuração de rede. Alterações futuras na carga que está sendo atendida ou em configurações de rede podem produzir latência de rede e podem levar à necessidade de medir novamente a configuração maxconcurrentApi correta. Para ambientes nos quais o volume de autenticação herdado é visto na medida em que as configurações maxConcurrentApi estão sendo examinadas, recomendamos que você monitore e examine continuamente os contadores de objeto de desempenho do Net Logon. 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 para credenciais ou tempo limite ao se conectar aos Serviços Autenticados

  • Máximo do Windows Server 2003. 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 em Windows Server 2012. É 10 para servidores membros e controladores de domínio. Ele permanece em 1 para estações de trabalho membro.

  • Windows Server 2003 e contadores de desempenho. A versão original do Windows Server 2003 não continha os contadores de desempenho do Net Logon. Você pode aplicar um hotfix para adicioná-lo.

Identificar 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 do Net Logon. Para obter mais informações sobre como usar o arquivo Netlogon.log para depurar o serviço do Net Logon, clique no número do artigo a seguir para exibir o artigo na Base de Dados de Conhecimento da Microsoft:
109626 Habilitar o registro em log de depuração para o serviço de Logon net

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 de semáforo MaxConcurrentApi que é mostrado no contador de desempenho do Net Logon 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 herdado relacionados ao MaxConcurrentApi sejam vistos, mas não refletidos em nenhum contador de desempenho diferente do contador net logon. Isso significa que outras métricas de desempenho, como uso de CPU e uso de disco e rede, podem não mostrar carga, embora a carga MaxConcurrentApi seja pesada e os usuários estejam tendo problemas.

Um procedimento de minimização adicional pode ser realizado em controladores de domínio que têm entradas no log de depuração do serviço net logon que indicam que os clientes estão enviando <null>\username em vez de domainname\username. Este procedimento é descrito no seguinte artigo na Base de Dados de Conhecimento da Microsoft:
923241 O processo Lsass.exe pode parar de responder se você tiver muitas confianças externas em um controlador de domínio do Active Directory