Hi @Libin L ,
Thanks for sharing your details!
After looking around, this is what I managed to find:
1. Why do only “Web Service” and “Web Service Cache” disappear while APP_POOL remains visible?
I couldn't find no official Microsoft documentation or KB that explains these two IIS counter sets being automatically removed or unregistered on Windows Server 2022 while IIS remains healthy. However, when this happens and IIS keeps serving traffic, it usually indicates a performance counter registration issue, not a problem with IIS itself.
These counter sets are exposed through the Windows Performance Library (Perflib) and are registered during IIS role installation. If the registration data becomes inconsistent, PerfMon and Get-Counter will stop listing them even though the underlying IIS functionality is unaffected.
2. Is this a known issue in Windows Server 2022 / IIS where counters disappear automatically?
At this time, no. This behavior does not appear in the official Windows Server 2022 known issues list, and there is no Microsoft article calling it a product bug or expected behavior
3. Are there recommended steps to prevent these counters from getting unregistered?
As for as I know, Microsoft does not provide any IIS-specific setting to “lock” these counters in place. The supported guidance focuses on repairing and validating performance counters when they go missing.
The commonly recommended and supported steps are:
- Rebuild the performance counter library using
lodctr /R(See: Manually rebuild performance counter library values) - Resynchronize WMI with performance counters using
winmgmt /resyncperf(See: winmgmt) - Verify that counters are not disabled in the registry (for example, checking
Disable Performance Counters = 0under the service’sPerformancesubkey) (See: How to: Fix performance counter issues)
Disclaimer: This is a non-Microsoft website. The page appears to be providing accurate, safe information. Watch out for ads on the site that may advertise products frequently classifies as a PUP (Potentially Unwanted Products). Thoroughly research any product advertised on the site before you decide to download and install it.
These steps fix the registration state but do not guarantee the counters will never disappear again, since Microsoft does not document what specifically triggers the unregistration in the first place.
4. Which logs or components handle the registration/unregistration of IIS counter sets?
IIS performance counters are registered through the Windows Performance Library (Perflib) using provider DLLs installed with the IIS role. The registration data lives primarily under:
-
HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>\Performance
When failures occur during counter loading or provider initialization, they are typically logged under:
-
Event Viewer → Applications and Services Logs → Microsoft → Windows → Perflib
In short, you’re not missing an official explanation, there genuinely isn’t one published today. Reinstalling the IIS role works because I think it re-registers the counters cleanly, confirming this is a counter-registration issue rather than an IIS runtime problem.