Este monitor alerta quando a condição Máximo de API Simultâneas é atingida.
Quando os clientes têm falhas de Autenticação do Windows, Exchange, SharePoint + LOB devido a um valor predefinido de MaxConcurrentAPI reduzido, que constitui um limite para o número máximo de validações de palavras-passe NTLM ou Kerberos PAC que um servidor pode processar em simultâneo.
Considere o seguinte cenário:
Tem uma ou mais florestas que têm vários domínios.
Existem combinações de utilizadores e recursos (por exemplo, aplicações ou servidores proxy) em domínios diferentes.
Existem muitas pedidos de início de sessão NTLM de utilizadores do domínio remoto para um servidor de recursos com o Windows Server.
Neste cenário, os pedidos de NTLM excedem o tempo limite. Por exemplo, os clientes do Exchange não efetuarão a autenticação no servidor Exchange quando este problema ocorre. Por conseguinte, os utilizadores não podem aceder às caixas de correio deles e o Microsoft Outlook aparenta deixar de responder.
Este problema ocorre porque o limite de otimização da API de NTLM foi atingido.
A proliferação de dispositivos que geram excesso de autenticação conduz a uma tendência crescente de falhas em grandes organizações.
A Economia de escalas adquirida em nuvem reforça a estrutura do Windows que tiram partido do nosso Active Directory.
O BPOS e o O365 já aumentaram este valor para 10 e 150, respetivamente. A correção do registo foi amplamente implementada através de casos de CSS anteriores.
Aumente o valor de registo MaxConcurrentApi no servidor ou servidores que estão a ter o problema. Para alterar a definição de MaxConcurrentApi, siga estes passos:
1. Clique em Iniciar, clique em Executar, escreva regedit e, em seguida, clique em OK.
2. Localize e clique na seguinte subchave de registo:
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
4. No menu Editar, aponte para Novo e clique em Valor DWORD.
5. Escreva MaxConcurrentApi e prima Enter.
6. No menu Editar, clique em Modificar.
7. Escreva a nova definição de MaxConcurrentApi em notação decimal e, em seguida, clique em OK.
8. Na linha de comandos, escreva o seguinte comando e, em seguida, prima Enter:
9. net stop netlogon
10. Escreva o seguinte comando e, em seguida, prima Enter:
11. net start netlogon
Certifique-se de que não existe qualquer latência entre o servidor e os seus controladores de domínio (ou controladores de domínio fidedignos, caso a condição tenha ocorrido num controlador de domínio) A latência de rede pode causar ou exacerbar o problema.
Para aplicações e serviços que estão a utilizar NTLM, basta configurá-los para passarem a utilizar autenticação Kerberos. Os métodos para o fazer serão exclusivos dessas aplicações.
Se a validação Kerberos PAC for considerada um sintoma, desative a validação Kerberos PAC caso o serviço o permita. Este procedimento deve ser efetuado no servidor onde surgem os eventos de sistema com autenticação Kerberos.
Nota: A validação Kerberos PAC não pode ser desativada para agrupamentos de aplicações do IIS ou para alguns serviços relacionados com o Exchange.
Nota: Para decidir qual o valor a definir para a definição de MaxConcurrentApi no seu ambiente, consulte o artigo seguinte da Base de Dados de Conhecimento.
Knowledge Base Article: 2688798
Como efetuar a optimização do desempenho da autenticação NTLM utilizando a definição de MaxConcurrentApi.
Mais Informações
Para obter mais informações sobre este problema, consulte o artigo seguinte da TechNet. Configurar MaxConcurrentAPI para Autenticação NTLM Pass-Through.
Target | Microsoft.Windows.Server.10.0.OperatingSystem | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | StateCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.Server.MaxConcurrentAPI.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | System.PrivilegedMonitoringAccount |
<UnitMonitor ID="Microsoft.Windows.Server.10.0.MaxConcurrentAPI.Monitor" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="WindowsServer!Microsoft.Windows.Server.MaxConcurrentAPI.MonitorType" ConfirmDelivery="false" RunAs="System!System.PrivilegedMonitoringAccount">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.MaxConcurrentAPI.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="MaxConcurrentAPIAvailable" MonitorTypeStateID="Success" HealthState="Success"/>
<OperationalState ID="MaxConcurrentAPIReached" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<DiagnosticMode>0</DiagnosticMode>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
<ThresholdWaiters>50</ThresholdWaiters>
<ThresholdTimeouts>2000</ThresholdTimeouts>
</Configuration>
</UnitMonitor>