Questo monitoraggio genera un avviso quando si verifica la condizione Numero massimo di API simultanee raggiunto.
Si verificano interruzioni di Autenticazione Windows, Exchange, SharePoint e LOB dovute al valore predefinito basso per MaxConcurrentAPI, che rappresenta il limite massimo per le convalide delle password PAC di Kerberos o NTLM eseguibili da un server contemporaneamente.
Si consideri lo scenario seguente:
Si dispone di una o più foreste con più domini.
Sono presenti combinazioni di utenti e risorse (ad esempio applicazioni o server proxy) in domini diversi.
Un server di risorse che esegue Windows Server 2008 R2 riceve molte richieste di accesso NTLM dagli utenti di domini remoti.
In questo scenario, le richieste NTLM scadono. Quando si verifica questo problema, i client di Exchange non possono autenticarsi sul server di Exchange. Gli utenti non possono quindi accedere alle cassette postali e Microsoft Outlook sembra bloccato.
Questo problema si verifica perché viene raggiunto il limite di API di NTLM.
Nelle grandi organizzazioni, si nota una crescente tendenza nel numero di interruzioni dovute alla proliferazione dei dispositivi che generano un traffico intenso di autenticazione.
L'aumento di risorse ottenuto tramite cloud genera un sovraccarico per l'infrastruttura Windows che utilizza Active Directory.
In BPOS e Office 365, questo valore è già stato aumentato a 10 e 150 rispettivamente. La correzione del Registro di sistema è stata ampiamente distribuita tramite interventi di assistenza CSS precedenti.
Aumentare il valore MaxConcurrentApi del Registro di sistema nei server in cui si è verificato il problema. Per modificare l'impostazione MaxConcurrentApi, effettuare le seguenti operazioni:
1. Fare clic su Avvia, scegliere Esegui, digitare regedit e poi fare clic su OK.
2. Individuare e selezionare la sottochiave del Registro di sistema seguente:
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
4. Dal menu Modifica, scegliere Nuovo e poi fare clic su Valore DWORD.
5. Digitare MaxConcurrentApi e poi premere Invio.
6. Dal menu Modifica, fare clic su Modifica.
7. Digitare la nuova impostazione MaxConcurrentApi in formato decimale e poi fare clic su OK.
8. Al prompt dei comandi, digitare il comando seguente e poi premere Invio:
9. net stop netlogon
10. Digitare il comando seguente e poi premere Invio:
11. net start netlogon
Verificare che non siano presenti problemi di latenza nella rete tra il server e i relativi controller di dominio (o controller di dominio trusted, se la condizione è stata visualizzata in un controller di dominio). La latenza di rete può provocare o aggravare il problema.
Le applicazioni e i servizi che utilizzano NTLM possono essere semplicemente configurati per l'autenticazione Kerberos. La procedura per configurare l'autenticazione dipende dal tipo di applicazione.
Se la convalida PAC di Kerberos viene considerata come un sintomo, disabilitare questa convalida se il servizio lo consente. L'operazione va eseguita nel server in cui è visualizzato l'evento di sistema originato da Kerberos 7.
Nota: è impossibile disabilitare la convalida PAC di Kerberos per pool di applicazioni IIS o per alcuni servizi di Exchange.
Nota: Per decidere quale valore impostare per l'impostazione MaxConcurrentApi nell'ambiente, consultare l'articolo della Knowledge Base riportato di seguito.
Knowledge Base Article: 2688798
Come ottimizzare le prestazioni per l'autenticazione NTLM tramite l'impostazione MaxConcurrentApi.
Ulteriori informazioni
Per altre informazioni su questo problema, vedere l'articolo di TechNet riportato di seguito. Configuring MaxConcurrentAPI for NTLM Pass-Through Authentication (Configurazione di MaxConcurrentAPI per l'autenticazione pass-through NTLM).
Target | Microsoft.Windows.Server.6.2.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.2012.MaxConcurrentAPI.Monitor" Accessibility="Public" Enabled="true" Target="WindowsServer!Microsoft.Windows.Server.6.2.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.2012.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>