Durchführen der Leistungsoptimierung für die NTLM-Authentifizierung mithilfe der MaxConcurrentApi-Einstellung

In diesem Artikel wird beschrieben, wie Sie die Leistungsoptimierung für die NTLM-Authentifizierung mithilfe der Einstellung MaxConcurrentApi durchführen.

Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 2688798

Einführung

Die zunehmende Consumerisierung der Informationstechnologie in Unternehmen (Zunahme verbraucherorientierter Geräte wie Smartphones und Tablets, die im Unternehmen verwendet werden) hat dazu geführt, dass die Anzahl der Szenarien, in denen Unternehmen eine große Zunahme der Legacyauthentifizierung in ihren Unternehmensumgebungen erleben können. Diese Zunahme der Legacyauthentifizierung kann zu Leistungsproblemen wie Verzögerungen oder Timeouts für Clients führen.

Wenn Sie Authentifizierungstimeouts oder -verzögerungen (auch als MaxConcurrentApi-Engpässe bezeichnet) in einer Umgebung feststellen, besteht die typische Möglichkeit zum Beheben des Problems darin, die maximal zulässigen Arbeitsthreads zu erhöhen, die diese Authentifizierung bereitstellen. Dazu ändern Sie den Registrierungswert MaxConcurrentApi und starten dann den Net Logon-Dienst auf den Servern neu.

Es kann schwierig sein, herauszufinden, welche Server Opfer des Engpasses sind und welche Server tatsächlich die Ursache der Engpässe sind. In diesem Artikel wird beschrieben, wie Sie die Leistungsoptimierung für die NT LAN Manager-Authentifizierung (NTLM) mithilfe der Einstellung MaxConcurrentApi durchführen. Dieser Artikel enthält Anleitungen für Administratoren beim Identifizieren der Server, auf denen der MaxConcurrentApi-Wert erhöht werden soll, und den Betrag, auf den dieser Wert festgelegt werden soll.

Lösung

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Erstellen und Wiederherstellen einer Sicherungskopie der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322756 Sichern und Wiederherstellen der Registrierung in Windows

Um dieses Problem zu beheben, müssen Sie die Leistungsdaten überprüfen, die von allen Servern stammen, die am Szenario beteiligt sind. Anschließend können Sie versuchen, die MaxConcurrentApi-Einstellung auf den Servern zu erhöhen, die einen Leistungsverlust aufweisen.

Es sind Netlogon Ereignisse verfügbar, die NTLM-Authentifizierungsprobleme melden. Weitere Informationen finden Sie unter:
2654097 Neue Ereignisprotokolleinträge, die NTLM-Authentifizierungsverzögerungen und -fehler in Windows Server 2008 R2 nachverfolgen, sind verfügbar.

Die Ereignisse geben die Aktivität für zwei Leistungsindikatoren an:

  • Ereignisse 5818/5819: Es gibt "Semaphorwarter", wenn die Ereignisse aktiviert sind.
  • Ereignisse 5816/5817: Es gibt "Semaphortimeouts".

Um den besten MaxConcurrentApi-Wert für Ihre Server zu ermitteln, müssen mehrere Datenpunkte zusammengeführt und mithilfe einer Formel berechnet werden. Die Daten, die zum Schätzen von MaxConcurrentApi verwendet werden sollen, lauten wie folgt:

  • Net Logon-Semaphor erwirbt
  • Net Logon-Semaphor-Timeouts
  • Durchschnittliche Semaphorhaltezeit für die Net-Anmeldung
  • Dauer der abgeschlossenen Leistungsprotokollierung, gemessen in Sekunden

Nachdem die Daten abgerufen wurden, kann die folgende Formel verwendet werden, um den richtigen MaxConcurrentApi-Wert zu schätzen:(semaphore_acquires + semaphore_time-outs) * average_semaphore_hold_time / time_collection_length = <New_MaxConcurrentApi_setting
Nachdem Sie die Net Logon-Leistungsdaten erfasst haben, als der Server unter Authentifizierungslast war, sollten Sie die Dauer des Datensammlungsprozesses anhand der Anfangs- und Endzeiten der Zeilenansicht ermitteln.

Hinweis

Die Platzhalter semaphore_acquires und semaphore_time stellen kumulative Zahlen dar, die angeben, wie viele Timeouts während der Lebensdauer eines Sicherheitskanals aufgetreten sind. Daher beginnen die Zahlen in den gesammelten Daten höchstwahrscheinlich nicht bei Null. Die Startnummer muss von der Endzahl subtrahiert werden, wenn Sie die Zeilenansicht im Leistungsmonitor (Perfmon.msc) verwenden. Anschließend verwenden Sie diese berechnete Zahl in der Formel für die neue Einstellung MaxConcurrentApi. Um die Anzahl der Timeouts zu bestimmen, die während der Datensammlung aufgetreten sind, verwenden Sie die Zeilenansicht in Perfmon.msc, und zeigen Sie den Mauszeiger auf die Zeile für diesen Leistungsindikator am Ende und am Anfang, und subtrahieren Sie dann die Anfangsnummer von der Endzahl. Dieses Ergebnis ist die Zahl, die in die Gleichung eingefügt werden soll.

Die durchschnittliche Aufbewahrungsdauer für Semaphore kann bestimmt werden, indem Sie die Standardansicht in Perfmon.msc von Zeilenansicht in Berichtsansicht ändern. Stellen Sie sich beispielsweise das folgende Szenario vor.

  • Der Semaphor erhält den Wert 8.286.
  • Der Wert für Semaphortimeouts ist 883.
  • Die durchschnittliche Aufbewahrungszeit für Semaphore beträgt .5 (also eine halbe Sekunde).
  • Die Berichtsdauer beträgt 90 Sekunden.

In diesem Szenario lautet die Formel wie folgt:
(8.286 + 883) *,5 / 90 =< 51

Wenn der von der Formel abgeleitete Wert 150 oder höher ist, sollten Sie weitere Server hinzufügen, um die Legacyauthentifizierungslast zu verarbeiten.

Wenn der Wert kleiner als 150 ist, sollten Sie den Registrierungswert MaxConcurrentApi auf diesem Server in den Wert ändern, der von der Formel vorgeschlagen wird, oder in einen größeren Wert.

Hinweis

Wenn Sie den MaxConcurrentApi-Wert auf größer als 10 erhöhen möchten, sollten die Last und die Leistung der gewünschten Einstellung in einer Nichtproduktionsumgebung getestet werden, bevor Sie die Änderung in einer Produktionsumgebung implementieren. Dies wird empfohlen, um sicherzustellen, dass das Erhöhen dieses Werts keine weiteren Ressourcenengpässe verursacht. Beachten Sie außerdem, dass sich die Ladebedingungen je nach Szenario und Geschäftsumgebung ändern können. Daher muss der MaxConcurrentApi-Wert möglicherweise zu einem späteren Zeitpunkt eine andere Einstellung aufweisen, wenn sich die Dienstauslastung ändert.

Führen Sie die folgenden Schritte aus, um die Einstellung MaxConcurrentApi zu ändern:

  1. Klicken Sie auf Start und dann auf Ausführen, geben Sie „regedit“ ein und klicken Sie auf OK.

  2. Finden und klicken Sie auf den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

  3. Zeigen Sie im Menü Bearbeiten auf Neu, und klicken Sie anschließend auf DWORD-Wert.

  4. Geben Sie MaxConcurrentApi ein, und drücken Sie dann die EINGABETASTE.

  5. Klicken Sie im Menü Bearbeiten auf Ändern.

  6. Geben Sie die neue MaxConcurrentApi-Einstellung in dezimal ein, und klicken Sie dann auf OK.

  7. Geben Sie an einer Eingabeaufforderung folgenden Befehl ein, und drücken Sie die EINGABETASTE:
    net stop netlogon

  8. Geben Sie folgenden Befehl ein, und drücken Sie die EINGABETASTE:
    net start netlogon

Weitere Informationen

Sie können den folgenden Knowledge Base-Artikel verwenden, um die clientseitigen Symptome von Legacyauthentifizierungsengpässen ausführlicher zu identifizieren:
975363 Sie werden zeitweilig zur Eingabe von Anmeldeinformationen oder Timeouts aufgefordert, wenn Sie eine Verbindung mit authentifizierten Diensten herstellen. Der Authentifizierungsengpass kann im Szenario auf mehreren Servern liegen. Daher müssen Sie sicherstellen, dass alle Server in einem bestimmten Szenario ihre Leistungsdaten überprüfen, während sie mit der Wartung von hohen Lasten beschäftigt sind.

Die Leistungsindikatoren für Semaphore acquire, für Semaphortimeouts und für die durchschnittliche Semaphor-Aufbewahrungszeit müssen auf allen Anwendungsservern, Domänencontrollern und vertrauenswürdigen Domänencontrollern überprüft werden, die an der Wartung von Clientanforderungen beteiligt sind.

Die Leistungsdaten müssen nachverfolgt werden, während die Server stark ausgelastet sind. Eine hohe Last tritt auf, wenn den Servern die meisten Clientanforderungen angezeigt werden. In einem E-Mail-Serverszenario ist der beste Zeitpunkt zum Sammeln der Leistungsdaten beispielsweise, wenn Benutzer zur Arbeit kommen und ihre E-Mail-Nachrichten überprüfen.

Weitere Punkte, die in Betracht gezogen werden müssen, sind:

  • Keine Werte bedeuten, dass keine Aktion erforderlich ist. Die Leistungsindikatoren Semaphorhalter und Semaphore-Haltezeit zeigen keine Werte an, es sei denn, es besteht eine anhaltende Last auf einem Server. Wenn keine Werte vorhanden sind, ist keine Änderung des MaxConcurrentApi-Werts erforderlich.

  • Eine Größe passt nicht für alle. Der MaxConcurrentApi-Wert muss möglicherweise für jeden Server einen anderen Wert aufweisen. Diese Situation kann durch mehrere Anwendungsserver verursacht werden, die die Authentifizierung von einem einzelnen Domänencontroller erhalten, oder durch ähnliche Szenarien, in denen mehrere Server ein größeres Lastvolumen bereitstellen, mit dem der Domänencontroller umgehen muss.

  • Vertrauensstellungen. Wenn die Benutzer, die authentifiziert werden, aus vertrauenswürdigen Domänen stammen, kann dies zu längeren Verzögerungen führen, da der lokale Domänencontroller auf die Antwort vom vertrauenswürdigen Domänencontroller warten muss, bevor der lokale Domänencontroller die Antwort an den Anwendungsserver bereitstellt.

  • Netzwerklatenz. Netzwerklatenz kann auch eine wichtige Rolle bei der Entstehung von MaxConcurrentApi-Engpässen spielen. Dieses Problem kann auftreten, wenn der MaxConcurrentApi-Semaphor einen timebasierten Timeoutzähler verwendet, damit Clients nicht unbegrenzt auf die Legacyauthentifizierung warten.

  • Kollokation. Wenn eine Netzwerklatenz besteht und Verzögerungen und Engpässe beim Abschließen von MaxConcurrentApi-Threads verursacht, besteht eine gängige Lösung darin, die Server am gleichen physischen Standort zu platzieren, damit die Netzwerklatenz reduziert wird. In einem Domänenmodell, in dem eine vertrauenswürdige Domäne z. B. Über Microsoft Exchange CAS-Server verfügt und sich die Domäne des Benutzers in einer anderen Region oder an einem anderen Active Directory-Standort befindet, bedeutet dies, dass die Domänencontroller des Benutzers an demselben physischen Standort und an demselben Active Directory-Standort wie die Exchange-CAS-Server und ihre Domänencontroller abgelegt werden.

  • Mögliche Downstreamverzögerung. Wenn der Semaphore Waiters-Zählerwert immer größer als 0 (null) ist und der Wert von Semaphore Holders kleiner als die MaxConcurrentApi-Einstellung auf diesem Server ist, befindet sich der Engpass nicht auf diesem Server. Sehen Sie sich in diesem Fall den Domänencontroller an, der im Zählernamen angegeben ist, der als vollqualifizierter Domänenname des Hostcomputers aufgeführt ist. Die Leistungsdaten Semaphorwarter und Semaphor holders dieses Domänencontrollers sollten überprüft werden.

  • Änderungen bei der Auslastung oder in der Netzwerkkonfiguration. Zukünftige Änderungen an der zu wartenden Last oder an Netzwerkkonfigurationen können zu Netzwerklatenz führen und dazu führen, dass die richtige MaxConcurrentApi-Einstellung erneut überprüft werden muss. Für Umgebungen, in denen das Legacyauthentifizierungsvolume in dem Umfang erkannt wird, in dem maxConcurrentApi-Einstellungen untersucht werden, wird dringend empfohlen, die Leistungsindikatoren für Net Logon-Leistungsobjekte kontinuierlich zu überwachen und zu überprüfen. Dazu können Sie geplante benutzerdefinierte Perfmon.msc-Datensammler, Microsoft System Center Operations Manager oder andere Methoden verwenden.

  • Maximaler Windows Server 2008-Wert. Die maximal zulässige Einstellung für MaxConcurrentApi in Windows Server 2008 und höheren Versionen von Windows ist 150. Wenden Sie den Hotfix an, der im folgenden Knowledge Base-Artikel beschrieben wird, um die maximal verfügbare Einstellung 150 zu verwenden, wenn auf dem von Ihnen verwendeten Server nicht Windows Server 2008 R2 ausgeführt wird:
    975363 Sie werden zeitweilig zur Eingabe von Anmeldeinformationen oder Timeouts aufgefordert, wenn Sie eine Verbindung mit authentifizierten Diensten herstellen.

  • Maximaler Windows Server 2003-Wert. Die maximal zulässige Einstellung für MaxConcurrentApi in Windows Server 2003 und früheren Versionen ist 10.

  • Windows Server 2012 und neuere Standardwerte. Der Standardwert für MaxConcurrentApi wurde in Windows Server 2012 geändert. Für Mitgliedsserver und Domänencontroller ist dies 10. Für Mitgliedsarbeitsstationen bleibt sie bei 1.

  • Windows Server 2003 und Leistungsindikatoren. Die ursprüngliche Version von Windows Server 2003 enthielt keine Leistungsindikatoren für die Net Logon.The original release of Windows Server 2003 does not contain the Net Logon performance counters. Sie können einen Hotfix anwenden, um ihn hinzuzufügen.

Das Identifizieren nicht autorisierter oder unbekannter Clients oder Dienste, die eine wiederholte und kontinuierliche NTLM-Authentifizierung ausführen, kann nützlich sein, wenn Sie die ntlm-Authentifizierungslast insgesamt reduzieren und somit letztendlich die Anzahl der MaxConcurrentApi-Semaphore verringern möchten. Wiederholte Authentifizierung auf diese Weise kann mithilfe der Debugprotokollierung des Net Logon-Diensts identifiziert werden. Weitere Informationen zur Verwendung der Netlogon.log-Datei zum Debuggen des Net Logon-Diensts finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
109626 Aktivieren der Debugprotokollierung für den Net Logon-Dienst

Der Perfmon.msc-Indikator für NTLM-Authentifizierungen unter dem Security System-Wide Statistics-Objekt spiegelt nicht die Anzahl der Verwendungen des nachverfolgten MaxConcurrentApi-Threads wider. Es gibt keine 1:1-Korrelation zwischen der MaxConcurrentApi-Semaphorverwendung, die im Leistungsindikator "Net Logon" und den NTLM-Authentifizierungszählerschritten angezeigt wird. Der NTLM-Authentifizierungsindikator ist nicht nützlich, um den besten MaxConcurrentApi-Wert zu bestimmen.

Darüber hinaus ist es wahrscheinlich, dass Leistungstimeouts der Legacyauthentifizierung im Zusammenhang mit MaxConcurrentApi angezeigt werden, aber nicht in einem anderen Leistungsindikator als dem Net Logon-Zähler widergespiegelt werden. Dies bedeutet, dass andere Leistungsmetriken wie CPU-Auslastung und Datenträger- und Netzwerknutzung möglicherweise keine Last anzeigen, obwohl die MaxConcurrentApi-Last hoch ist und Benutzer Probleme haben.

Eine zusätzliche Minimierungsprozedur kann auf Domänencontrollern ausgeführt werden, die einträge im Debugprotokoll des Net Logon-Diensts enthalten, die angeben, dass Clients anstelle von domainname\usernameübermitteln<null>\username. Dieses Verfahren wird im folgenden Artikel der Microsoft Knowledge Base beschrieben:
923241 Der Lsass.exe-Prozess reagiert möglicherweise nicht mehr, wenn Sie über viele externe Vertrauensstellungen auf einem Active Directory-Domänencontroller verfügen.