Этот монитор предупреждает о достижении максимального числа одновременных API.
Когда пользователи сталкиваются с проблемой простоя проверки подлинности Windows, Exchange, SharePoint и бизнес-приложений по причине низкого значения по умолчанию параметра MaxConcurrentAPI, определяющего пороговое значение максимального числа проверок паролей NTLM или Kerberos PAC, которое одновременно может осуществить сервер.
Рассмотрим следующую ситуацию.
У вас имеется один лес или несколько, включающие несколько доменов.
На различных доменах существуют комбинации ресурсов и пользователей (такие как приложения или прокси-сервера).
На сервер ресурсов с ОС Windows Server поступает множество запросов на вход NTLM от пользователей удаленного домена.
В этом случае время запросов NTLM истекает. Например, клиенты Exchange не могут пройти проверку подлинности на сервере Exchange при появлении этой проблемы. Таким образом, пользователи не могут получить доступ к почтовым ящикам, а Microsoft Outlook перестает работать.
Это проблема вызвана достижением предела регулирования API NTLM.
Увеличение числа устройств, которые способствуют увеличению нагрузки при проверке подлинности, приводит к росту числа простоев в крупной организации.
Повышение эффективности за счет роста масштабов использования облака создают нагрузку на инфраструктуру Windows, которая использует Active Directory.
BPOS и Office 365 уже увеличили это значение до 10 и 150 соответственно. Исправление реестра широко использовалось в рамках исполнения истекших событий CSS.
Увеличьте значение реестра MaxConcurrentApi на сервере или серверах, где наблюдается проблема. Чтобы изменить параметр MaxConcurrentApi, выполните следующие действия:
1. Нажмите кнопку "Пуск", выберите пункт "Выполнить", введите "regedit" и нажмите кнопку "ОК".
2. Найдите и щелкните следующий подраздел реестра.
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
4. В меню "Правка" выберите пункт "Создать", а затем выберите "Значение DWORD".
5. Введите MaxConcurrentApi и нажмите клавишу ВВОД.
6. В меню "Правка" выберите команду "Изменить".
7. Введите новое значение параметра MaxConcurrentApi в десятичном виде, а затем нажмите "ОК".
8. В командной строке введите следующую команду и нажмите клавишу ВВОД.
9. net stop netlogon
10. Введите следующую команду и нажмите клавишу ВВОД:
11. net start netlogon
Убедитесь, что сеть между сервером и его контроллерами домена (или доверенные контроллеры домена, если проблема возникла на контроллере домена) не испытывает задержек. Задержка сети может вызвать или осложнить проблему.
Для приложений и серверов, использующих NTLM, настройте использование проверки подлинности Kerberos вместо текущей. Способы настройки будут индивидуальными для каждого приложения.
Если проверка подлинности Kerberos PAC является признаком неисправности, отключите проверку подлинности Kerberos PAC, если система представляет такую возможность. Это необходимо осуществить на том сервере, на котором наблюдается событие под номером 7 в рамках системы клиента Kerberos.
Примечание. Проверка подлинности Kerberos PAC не может быть отключена для категорий приложений IIS, а также для некоторых служб, связанных с Exchange.
Примечание. Чтобы решить, какое значение присвоить параметру MaxConcurrentAPI в вашей среде, ознакомьтесь со статьей базы знаний ниже.
Статья базы знаний: 2688798
Настройка производительности для проверки подлинности NTLM с использованием настройки MaxConcurrentAPI.
Дополнительная информация
Дополнительные сведения о проблеме см. в статье TechNet ниже. Настройка параметра MaxConcurrentAPI для сквозной проверки подлинности NTLM.
Target | Microsoft.Windows.Server.10.0.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.10.0.MaxConcurrentAPI.Monitor" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.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.10.0.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>