Dieser Monitor gibt eine Warnung aus, wenn die max. Anzahl gleichzeitiger API-Aufrufe erreicht ist.
Gilt, wenn bei Kunden Windows-Authentifizierungs-, Exchange-, SharePoint- und LOB-Ausfälle aufgrund des niedrigen Standardwerts für „MaxConcurrentAPI“ auftreten. „MaxConcurrentAPI“ gibt die max. Anzahl der NTLM- oder Kerberos-PAC-Kennwortüberprüfungen an, die von einem Server gleichzeitig verarbeitet werden können.
Als Beispiel dient das folgende Szenario:
Sie verfügen über eine oder mehrere Gesamtstrukturen, die aus mehreren Domänen bestehen.
Es sind Kombinationen aus Benutzern und Ressourcen (z. B. Anwendungen oder Proxyserver) in unterschiedlichen Domänen vorhanden.
Es wird eine große Anzahl von NTLM-Anmeldeanforderungen von Remotedomänenbenutzern an einen Ressourcenserver mit Windows Server 2008 R2 gesendet.
In diesem Szenario tritt bei den NTLM-Anforderungen ein Timeout auf. Beispielsweise werden dann Exchange-Clients nicht beim Exchange-Server authentifiziert. Benutzer können demnach nicht auf ihre Postfächer zugreifen, und Microsoft Outlook reagiert scheinbar nicht mehr.
Dieses Problem tritt auf, da der Grenzwert für die NTLM-API-Einschränkung erreicht ist.
Die Verbreitung von Geräten, durch die Authentifizierungslast erzeugt wird, führt in Großunternehmen zunehmend zu Ausfällen.
Durch cloudgestützte Economy of Scale wird die Active Directory nutzende Windows-Infrastruktur belastet.
Von BPOS und Office 365 wurde dieser Wert bereits auf 10 und 150 erhöht, bzw. es wurde im Rahmen von Microsoft Support Services-Fällen weitläufig ein Registrierungsfix bereitgestellt.
Erhöhen Sie auf den Servern, bei denen das Problem auftritt, den Registrierungswert „MaxConcurrentApi“. Gehen Sie zum Ändern der entsprechenden Einstellung folgendermaßen vor:
1. Klicken Sie auf „Start“ und dann auf „Ausführen“. Geben Sie „regedit“ ein, und klicken Sie dann auf „OK“.
2. Suchen Sie den folgenden Registrierungsunterschlüssel, und klicken Sie darauf:
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
4. Zeigen Sie im Menü „Bearbeiten“ auf „Neu“, und klicken Sie dann auf „DWORD-Wert“.
5. Geben Sie „MaxConcurrentApi“ ein, und drücken Sie dann die EINGABETASTE.
6. Klicken Sie im Menü „Bearbeiten“ auf „Ändern“.
7. Geben Sie die neue Einstellung für „MaxConcurrentApi“ als Dezimalwert ein, und klicken Sie dann auf „OK“.
8. Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:
9. net stop netlogon
10. Geben Sie den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:
11. net start netlogon
Überprüfen Sie, ob im Netzwerk zwischen dem Server und seinen Domänencontrollern (bzw. vertrauenswürdigen Domänencontrollern, falls der Zustand bei einem Domänencontroller aufgetreten ist) keine Latenz auftritt. Durch Netzwerklatenz kann das Problem verursacht oder verschärft werden.
Konfigurieren Sie Anwendungen und Dienste, von denen NTLM verwendet wird, stattdessen für die Verwendung der Kerberos-Authentifizierung. Die entsprechende Vorgehensweise hängt von der jeweiligen Anwendung ab.
Wenn die Kerberos-PAC-Überprüfung als Symptom auftritt, deaktivieren Sie sie, sofern es bei dem Dienst zulässig ist. Die Deaktivierung sollte auf dem Server erfolgen, bei dem das Kerberos-Systemereignis 7 auftritt.
Hinweis: Die Kerberos-PAC-Überprüfung kann nicht für IIS-Anwendungspools oder für einige Dienste im Zusammenhang mit Exchange deaktiviert werden.
Hinweis: Bei der Entscheidung, welcher Wert für die Einstellung „MaxConcurrentApi“ in Ihrer Umgebung festgelegt werden soll, unterstützt Sie der nachfolgende Knowledge Base-Artikel.
Knowledge Base-Artikel: 2688798
Leistungsoptimierung für die NTLM-Authentifizierung mithilfe der Einstellung „MaxConcurrentApi“
Weitere Informationen
Weitere Informationen zu diesem Problem finden Sie im nachfolgenden TechNet-Artikel. Configuring MaxConcurrentAPI for NTLM Pass-Through Authentication (Konfigurieren von „MaxConcurrentAPI“ für die NTLM-Pass-Through-Authentifizierung).
Target | Microsoft.Windows.Server.2008.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.2008.MaxConcurrentAPI.Monitor" Accessibility="Public" Enabled="true" Target="Server2008!Microsoft.Windows.Server.2008.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.2008.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>