So wird's ausgeführt: Durchführen der Leistungsoptimierung für die NTLM-Authentifizierung mithilfe der Einstellung "MaxConcurrentApi"
In diesem Artikel wird beschrieben, wie Sie die Leistungsoptimierung für die NTLM-Authentifizierung mithilfe der Einstellung "MaxConcurrentApi" ausführen.
Ursprüngliche KB-Nummer: 2688798
Einführung
Eine Zunahme der Verbraucherisierung der Unternehmensinformationstechnologie (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 in ihren Unternehmensumgebungen eine große Zunahme der Legacyauthentifizierung 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 ermitteln, besteht die typische Methode zum Beheben des Problems darin, die maximal zulässigen Arbeitsthreads zu erhöhen, die diese Authentifizierung verwenden. Ändern Sie dazu den Registrierungswert MaxConcurrentApi, und starten Sie dann den Net-Anmeldedienst auf den Servern neu.
Die Identifizierung, welche Server Opfer des Engpasses sind und welche Server tatsächlich die Quelle der Engpässeverzögerungen sind, kann schwierig sein. 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 müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren 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 Einstellung "MaxConcurrentApi" auf diesen Servern zu erhöhen, die einen Leistungsverlust aufweisen.
Es stehen Netlogon
Ereignisse zur Verfügung, die NTLM-Authentifizierungsprobleme melden, siehe:
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 "Semaphore Waiters", wenn die Ereignisse aktiviert sind.
- Ereignisse 5816/5817: Es gibt "Semaphore Timeouts".
Um den besten MaxConcurrentApi-Wert für Ihre Server zu ermitteln, müssen mehrere Datenpunkte mithilfe einer Formel zusammengeführt und berechnet werden. Die zum Schätzen von MaxConcurrentApi zu verwendenden Daten lauten wie folgt:
- Net-Logon-Semaphor erwirbt
- Net-Logon-Semaphor-Timeouts
- Durchschnittliche Semaphor-Aufbewahrungszeit 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 ermitteln, indem Sie die Anfangs- und Endzeiten der Zeilenansicht betrachten.
Notiz
Die Platzhalter semaphore_acquires und semaphore_time-Outs stellen kumulative Zahlen dar, die angeben, wie viele Timeouts während der Lebensdauer eines Sicherheitskanals aufgetreten sind. Daher beginnen die Zahlen wahrscheinlich nicht bei Null in den gesammelten Daten. Die Startnummer muss von der Endnummer 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 ermitteln, die während der Datensammlung aufgetreten sind, verwenden Sie die Zeilenansicht in Perfmon.msc, und positionieren Sie den Mauszeiger über der Linie für diesen Zähler am Ende und am Anfang, und subtrahieren Sie dann die Anfangsnummer von der Endnummer. Das Ergebnis ist die Zahl, die in die Formel eingefügt werden soll.
Die durchschnittliche Dauer des Semaphors kann durch Ändern der Standardansicht von der Linienansicht in die Berichtsansicht in Perfmon.msc bestimmt werden. Betrachten Sie beispielsweise das folgende Szenario:
- Der Semaphor erhält den Wert 8.286.
- Der Semaphor-Timeoutwert ist 883.
- Die durchschnittliche Dauer des Semaphors ist
.5
(also eine halbe Sekunde). - Die Berichtsdauer beträgt 90 Sekunden.
In diesem Szenario würde die Formel wie folgt aussehen:
(8.286 + 883) *.5 / 90 =< 51
Wenn der von der Formel abgeleitete Wert 150 oder größer ist, sollten Sie weitere Server hinzufügen, um die Legacyauthentifizierung zu verwenden.
Wenn der Wert kleiner als 150 ist, sollten Sie den Registrierungswert "MaxConcurrentApi" auf diesem Server auf den Wert ändern, der von der Formel oder zu einem größeren Wert vorgeschlagen wird.
Notiz
Wenn Sie den MaxConcurrentApi-Wert auf größer als 10 erhöhen möchten, sollte 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 anderen Ressourcenengpässe verursacht. Beachten Sie außerdem, dass sich 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 das Laden des Diensts ändert.
Führen Sie die folgenden Schritte aus, um die Einstellung "MaxConcurrentApi" zu ändern:
Klicken Sie auf Start und dann auf Ausführen, geben Sie „regedit“ ein und klicken Sie auf OK.
Finden und klicken Sie auf den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Zeigen Sie im Menü Bearbeiten auf Neu, und klicken Sie anschließend auf DWORD-Wert.
Geben Sie MaxConcurrentApi ein, und drücken Sie dann die EINGABETASTE.
Klicken Sie im Menü "Bearbeiten " auf " Ändern".
Geben Sie die neue MaxConcurrentApi-Einstellung in dezimal ein, und klicken Sie dann auf "OK".
Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein, und drücken Sie die EINGABETASTE:
net stop netlogon
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 zeitweise zur Eingabe von Anmeldeinformationen oder Timeouts aufgefordert, wenn Sie eine Verbindung mit authentifizierten Diensten herstellen. Der Authentifizierungsengpässe kann sich auf mehreren Servern im Szenario befinden. Daher müssen Sie sicherstellen, dass alle Server in einem bestimmten Szenario ihre Leistungsdaten überprüft haben, während sie stark ausgelastet sind.
Die Leistungsindikatoren für Semaphore erwerben, für Semaphor-Timeouts und für durchschnittliche Speicherzeit für Semaphore müssen auf allen Anwendungsservern, Domänencontrollern und vertrauenswürdigen Domänencontrollern überprüft werden, die an Wartungsclientanforderungen beteiligt sind.
Die Leistungsdaten müssen nachverfolgt werden, während die Server stark belastet sind. Schwere Last tritt auf, wenn die Server die meisten Clientanforderungen sehen. In einem E-Mail-Serverszenario ist beispielsweise der beste Zeitpunkt, um die Leistungsdaten zu sammeln, wenn Benutzer bei der Arbeit ankommen und ihre E-Mail-Nachrichten überprüfen.
Weitere Punkte zur Berücksichtigung sind wie folgt:
Keine Werte bedeuten, dass keine Aktion erforderlich ist. Die Semaphorhalter und die Semaphor-Haltezeitzähler zeigen keine Werte an, es sei denn, es gibt eine dauerhafte Last auf einem Server. Wenn keine Werte vorhanden sind, ist keine Änderung des MaxConcurrentApi-Werts erforderlich.
Eine Größe passt nicht 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 Ladevolumen 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 auf den Anwendungsserver bereitstellt.
Netzwerklatenz. Die Netzwerklatenz kann auch einen großen Teil bei der Ursache von MaxConcurrentApi-Engpässen spielen. Dieses Problem kann auftreten, wenn der MaxConcurrentApi-Semaphor einen zeitbasierten Timeoutzähler verwendet, sodass Clients nicht unbegrenzt auf die Legacyauthentifizierung warten.
Kollokation. Wenn die Netzwerklatenz vorhanden ist und Verzögerungen und Engpässe beim Abschließen von MaxConcurrentApi-Threads verursacht, besteht eine gängige Lösung darin, die Server an demselben physischen Standort zu platzieren, sodass 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 Speicherort und am gleichen Active Directory-Standort wie die Exchange-CAS-Server und ihre Domänencontroller abgelegt werden.
Mögliche nachgeschaltete Verzögerung. Wenn der Leistungsindikatorwert für Semaphore Waiters immer größer als 0 (Null) ist und der Wert " Semaphore Holders" kleiner als die Einstellung "MaxConcurrentApi" auf diesem Server ist, befindet sich der Engpass nicht auf diesem Server. Suchen Sie in diesem Fall nach dem Domänencontroller, der im Zählernamen zitiert wird, der als vollqualifizierter Domänenname des Hostcomputers aufgeführt ist. Die Leistungsdaten dieses Domänencontrollers für Semaphore Waiters und Semaphore Holders sollten überprüft werden.
Änderungen beim Laden oder in der Netzwerkkonfiguration. Zukünftige Änderungen an der Last, die gewartet wird, oder in 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 zu sehen ist, soweit die MaxConcurrentApi-Einstellungen untersucht werden, empfehlen wir dringend, die Leistungsindikatoren des Net Logon-Leistungsobjekts kontinuierlich zu überwachen und zu überprüfen. Sie können dies mithilfe von geplanten benutzerdefinierten Perfmon.msc-Datensammlern, mit Microsoft System Center Operations Manager oder mit anderen Methoden tun.
Windows Server 2008 maximum. Die maximal zulässige Einstellung für MaxConcurrentApi in Windows Server 2008 und in 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 für 150 festzulegen, wenn der von Ihnen verwendete Server windows Server 2008 R2 nicht ausführt:
975363 Sie werden zeitweise zur Eingabe von Anmeldeinformationen oder Timeouts aufgefordert, wenn Sie eine Verbindung mit authentifizierten Diensten herstellenWindows Server 2003 maximum. Die maximal zulässige Einstellung für MaxConcurrentApi in Windows Server 2003 und in früheren Versionen ist 10.
Windows Server 2012 und neuere Standardwerte. Die Standardeinstellung für MaxConcurrentApi wurde in Windows Server 2012 geändert. Er ist 10 für Mitgliedsserver und Domänencontroller. Es verbleibt bei 1 für Mitgliedsarbeitsstationen.
Windows Server 2003 und Leistungsindikatoren. Die ursprüngliche Version von Windows Server 2003 enthielt nicht die Leistungsindikatoren für die Net-Anmeldung. Sie können einen Hotfix anwenden, um ihn hinzuzufügen.
Die Identifizierung nicht autorisierter oder unbekannter Clients oder Dienste, die wiederholte und fortlaufende NTLM-Authentifizierung ausführen, kann nützlich sein, wenn Sie die gesamtlast der NTLM-Authentifizierung reduzieren und daher letztendlich die Anzahl der Verwendungen von MaxConcurrentApi verringern möchten. Wiederholte Authentifizierung auf diese Weise kann mithilfe der Debugprotokollierung des Net-Anmeldediensts identifiziert werden. Weitere Informationen zur Verwendung der Netlogon.log-Datei zum Debuggen des Net Logon-Diensts finden Sie unter der folgenden Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
109626 Aktivieren der Debugprotokollierung für den Net-Anmeldedienst
Der Perfmon.msc-Zähler für NTLM-Authentifizierungen unter dem Security System-Wide Statistics-Objekt entspricht nicht der Anzahl der Verwendungen des nachverfolgten MaxConcurrentApi-Threads. Es gibt keine 1:1-Korrelation zwischen der MaxConcurrentApi-Semaphorverwendung, die im Net Logon-Leistungsindikator und dem NTLM-Authentifizierungszähler inKrementen angezeigt wird. Der NTLM-Authentifizierungsindikator ist beim Ermitteln des besten MaxConcurrentApi-Werts nicht hilfreich.
Darüber hinaus ist es wahrscheinlich, dass Ältere Authentifizierungsleistungstimeouts, die mit MaxConcurrentApi zusammenhängen, angezeigt, 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 Netzwerkverwendung möglicherweise keine Last anzeigen, obwohl die MaxConcurrentApi-Last stark ist und Benutzer Probleme haben.
Eine zusätzliche Minimierungsprozedur kann für Domänencontroller mit Einträgen im Debugprotokoll des Net Logon-Diensts ausgeführt werden, die angeben, dass Clients statt <null>\username
domainname\username
. Dieses Verfahren wird im folgenden Artikel in der Microsoft Knowledge Base beschrieben:
923241 Der Lsass.exe Prozess reagiert möglicherweise nicht mehr, wenn Sie viele externe Vertrauensstellungen auf einem Active Directory-Domänencontroller haben.