Windows Server 2008 – Monitor für die max. Anzahl gleichzeitiger API-Aufrufe

Microsoft.Windows.Server.2008.MaxConcurrentAPI.Monitor (UnitMonitor)

Dieser Monitor gibt eine Warnung aus, wenn die max. Anzahl gleichzeitiger API-Aufrufe erreicht ist.

Knowledge Base article:

Zusammenfassung

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:

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.

Ursachen

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.

Lösungen

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

Zusätzliche Informationen

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).

Element properties:

TargetMicrosoft.Windows.Server.2008.OperatingSystem
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.MaxConcurrentAPI.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Warnung zum Erreichen der max. Anzahl gleichzeitiger API-Aufrufe
Auf dem Server „{0}“ wurde die max. Anzahl gleichzeitiger API-Aufrufe erreicht.
RunAsSystem.PrivilegedMonitoringAccount

Source Code:

<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>