One of my applications was experiencing intermittent delays in a specific part of the system. Users would click the "Save" button, and sometimes it would take an extra 30 seconds to respond. I turned on ASP.NET tracing and then used Logman and ETW to record detailed traces.
The trace showed that the delay happened in the "HTTPSYS_CACHEABLE" stage. But, I could not figure out why that was causing a delay. I didn't find any useful documentation about the trace stages in IIS6, and Google didn't find anyone else who had solved this problem.
I tried to disable HTTP.SYS caching by changing a registry key and by editing machine.config. Neither action caused any change in the page performance or the trace logs.
The relevant part of the trace results is this section. Note the gap between the timestamps.
IISCache: URL_CACHE_ACCESS_END - IIS ends accessing URL cache
ErrorCode: 0x00000000
PhysicalPath: H:\JobTraQ_Site\
URLInfoFromCache: 1
URLInfoAddedToCache: 0
ContextIDSeq: 4
Timestamp: 00:30:29.406.250000
IISCache: HTTPSYS_CACHEABLE - IIS decides if the request is HTTP.SYS cacheable
Reason: RESPONSE_MORE_DATA
HttpsysCacheable: 0
ContextIDSeq: 4
Timestamp: 00:30:53.421.875000