最大同時 API 接続モニター

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

このモニターは、同時 API 接続が最大数に達したときにアラートを発生します。

Knowledge Base article:

概要

サーバーが一度に取り扱える NTLM 認証や Kerberos の PAC のパスワードによる認証の最大数は、MaxConcurrentApi の設定によって決まります。この MaxConcurrentApi の既定値が小さいことが原因で、顧客の Windows 認証で問題が発生したり、Exchange や SharePoint と組み込み基幹業務システムを利用できなくなったりすることがあります。

このような場合は、まず、次のことを確認してください。

上の条件が当てはまる場合は、NTLM のログイン要求がタイムアウトします。たとえば、Exchange クライアントは Exchange サーバーから認証を受けることができません。したがって、ユーザーは自分のメールボックスにアクセスできず、Microsoft Outlook が応答しなくなります。

原因

この問題は、NTLM API の調整の限界に達したことが原因で発生します。

認証要求を生成するデバイスが増えるにつれて、大規模な組織で認証機能停止が頻発する傾向が強まっています。

クラウド コンピューティングの導入によって規模の経済は達成できますが、Active Directory を利用する Windows インフラストラクチャに大きな負荷がかかります。

BPOS と Office 365 では、この値は既にそれぞれ 10 と 150 に上がっています。これまでの CSS ケース エンゲージメントによって、レジストリの修正が広くデプロイされています。

解決方法

注:IIS アプリケーション プールや Exchange 関連サービスのいくつかでは、Kerberos の PAC による認証を無効にすることはできません。

注:環境に合った MaxConcurrentApi の設定値を決める方法については、次のサポート技術情報の記事を参照してください。

サポート技術情報の記事: 2688798

追加情報

MaxConcurrentApi の設定を使用して NTLM 認証のパフォーマンスを調整する方法

関連情報

この問題に関する詳細は、次の TechNet の記事をご覧ください。 MaxConcurrentAPI を NTLM パススルー認証用に構成する

Element properties:

TargetMicrosoft.Windows.Server.10.0.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
最大同時 API 接続数のアラート
サーバー {0} の同時 API 接続が最大数に達しました。
RunAsSystem.PrivilegedMonitoringAccount

Source Code:

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