이 모니터는 최대 동시 API 조건에 도달하면 경고합니다.
서버가 한 번에 처리할 수 있는 최대 NTLM 또는 Kerberos PAC 암호 유효성 검사의 최상값인 MaxConcurrentAPI의 기본값이 낮아서 사용자가 Windows 인증, Exchange, SharePoint + LOB 서비스 중단을 겪는 경우
다음 시나리오를 고려해 보십시오.
여러 도메인이 있는 포리스트가 하나 이상 있습니다.
여러 도메인에 사용자와 리소스의 조합(예: 응용 프로그램 또는 프록시 서버)이 있습니다.
원격 도메인 사용자의 Windows Server 2008 R2를 실행하는 리소스 서버에 대한 NTLM 로그온 요청이 많습니다.
이 시나리오에서 NTLM 요청 시간 제한이 발생했습니다. 예를 들어 Exchange 클라이언트는 이 문제가 발생할 때 Exchange 서버를 인증하지 않습니다. 따라서 사용자는 사서함에 액세스할 수 없으며 Microsoft Outlook은 응답하지 않는 것처럼 보입니다.
NTLM API 조정 제한에 도달하여 이 문제가 발생합니다.
인증 부하를 일으키는 장치가 급증하면 대기업의 서비스 중단이 발생할 수 있습니다.
클라우드로 인한 규모의 경제가 Active Directory를 활용하는 Windows 인프라에 부담을 줍니다.
BPOS 및 O365에서 이 값을 이미 10 및 150resp로 늘렸습니다. 레지스트리 수정이 과거 CSS 사례 참여를 통해 광범위하게 배포되었습니다.
문제가 일어나는 서버에서 MaxConcurrentApi 레지스트리 값을 높입니다. MaxConcurrentApi 설정을 변경하려면 다음 단계를 수행하십시오.
1. 시작, 실행을 차례로 클릭하고 regedit을 입력한 후 [확인]을 클릭합니다.
2. 다음 레지스트리 하위 키를 찾아 클릭합니다.
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
4. 편집 메뉴에서 새로 만들기를 가리킨 후 DWORD 값을 클릭합니다.
5. MaxConcurrentApi를 입력한 후 Enter 키를 누릅니다.
6. 편집 메뉴에서 [수정]을 클릭합니다.
7. 십진수로 새 MaxConcurrentApi 설정을 입력한 후 [확인]을 클릭합니다.
8. 명령 프로프트에서 다음 명령을 입력한 후 Enter 키를 누릅니다.
9. net stop netlogon
10. 다음 명령을 입력한 후 Enter 키를 누릅니다.
11. net start netlogon
서버와 도메인 컨트롤러(또는 해당 조건이 도메인 컨트롤러에서 발생하는 경우 신뢰할 수 있는 도메인 컨트롤러) 간의 네트워크에서 대기 시간이 발생하지 않는지 확인합니다. 네트워크 대기 시간이 발생하거나 우려스러운 상황이 가중됩니다.
NTLM을 사용하는 응용 프로그램 및 서비스의 경우, Kerberos 인증을 사용하도록 구성하면 됩니다. 이 방법은 해당 응용 프로그램에 고유합니다.
Kerberos PAC 유효성 검사가 증상으로 표시되면 Kerberos PAC 유효성 검사를 사용하지 않도록 설정합니다(서비스에서 허용하는 경우). Kerberos 소스 시스템 이벤트로 7이 몇 개씩 나타나는 서버에서는 사용하지 않도록 설정해야 합니다.
참고: IIS 응용 프로그램 풀 및 일부 Exchange 관련 서비스의 경우 Kerberos PAC 유효성 검사를 사용하지 않도록 설정할 수 없습니다.
참고: 사용자 환경에서 MaxConcurrentApi 설정에 지정할 값을 결정하려면 아래의 기술 자료 문서를 참조하십시오.
Knowledge Base Article: 2688798
MaxConcurrentApi 설정을 사용하여 NTLM 인증에 맞게 성능을 조정하는 방법
자세한 정보
이 문제에 대한 자세한 내용은 아래의 TechNet 문서를 검토하세요. Configuring MaxConcurrentAPI for NTLM Pass-Through Authentication(NTLM 통과 인증에 대해 MaxConcurrentAPI 구성).
Target | Microsoft.Windows.Server.6.2.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.2012.MaxConcurrentAPI.Monitor" Accessibility="Public" Enabled="true" Target="WindowsServer!Microsoft.Windows.Server.6.2.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.2012.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>