Ugu*_*tak 5 iis performance caching url-rewriting performance-monitor
如果我激活IIS重写模块文件缓存命中计数器不会增加.
我正在通过性能监视器跟踪命中(perfmon.exe/Web服务缓存/文件缓存命中)
如果我取消激活重写"文件高速缓存命中",则根据IIS高速缓存算法正常增加.
在两种情况下,请求的文件都是静态html文件.
URL重写是否阻止IIS的静态文件缓存?
文档指出,是的,IIS 重写可以阻止文件缓存。
与 IIS 输出缓存交互
URL 重写模块控制 IIS 输出缓存行为,以便:
最佳地利用内核模式和用户模式输出缓存重写 URL 的响应,从而提高使用 URL 重写模块的 Web 应用程序的性能。当由于 URL 重写而可能违反缓存逻辑时,防止缓存响应。该模块通过更改某些缓存属性或完全禁用缓存来控制输出缓存。如果该模块已被 IIS 配置或 IIS 管道中的任何其他模块禁用,则该模块无法启用输出缓存。输出缓存控制如下:
该模块始终设置用户模式缓存设置 VarByHeader="HTTP_X_ORIGINAL_URL"。这确保了当启用用户模式缓存时,模块会考虑原始 URL 来构建缓存条目的密钥。
如果重写规则集使用的服务器变量的值在整个进程的生命周期中保持不变或从请求的 URL 派生,则该规则集被认为对于输出缓存是安全的。这意味着 URL 重写模块不会以任何方式更改现有的缓存策略,除非按照步骤中所述设置 VarieByHeader
以下服务器变量在重写规则中使用时,不会对输出缓存策略产生任何影响:
“CACHE_URL”、“DOCUMENT_ROOT”、“HTTP_URL”、“HTTP_HOST”、“PATH_INFO”、“PATH_TRANSLATED”、“QUERY_STRING”、“REQUEST_FILENAME”、“REQUEST_URI”、“SCRIPT_FILENAME”、“SCRIPT_NAME”、“SCRIPT_TRANSLATED”、“UNENCODED_URL ”、“URL”、“URL_PATH_INFO”、“APP_POOL_ID”、“APPL_MD_PATH”、“APPL_PHYSICAL_PATH”、“GATEWAY_INTERFACE”、“SERVER_SOFTWARE”、“SSI_EXEC_DISABLED”
3. 如果重写规则集使用上面列表中未提及的任何服务器变量,则该规则集被视为对于输出缓存不安全。这意味着 URL 重写模块将禁用所有请求的内核模式缓存,无论请求 URL 是否被重写。此外,该模块将通过将缓存属性variableByValue设置为包含规则集中使用的所有服务器变量值的串联字符串来更改用户模式缓存的缓存策略。
| 归档时间: |
|
| 查看次数: |
1901 次 |
| 最近记录: |