現象
Windows フル イメージを実行しているコンテナー内の API パフォーマンス カウンターへのアプリケーション呼び出しは、3 ~ 5 分遅れます。 例えば次が挙げられます。
10:32:55.858 Tid=1, PerformanceCounterCategory.CounterExists – BEGIN
10:36:32.140 Tid=1, PerformanceCounterCategory.CounterExists – END
原因
ブローカー インフラストラクチャ サービスは、完全なコンテナー イメージで無効になっています。
解決方法
API 呼び出しを開始する前に、ブローカー インフラストラクチャ サービスのスタートアップの種類 (サービスの表示名は Background Tasks Infrastructure Service) を Automatic に設定します。 これを行うには、dockerfile に次の行を追加します。
RUN powershell -Command Set-Itemproperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\BrokerInfrastructure' -Name 'Start' -value 2