Microsoft IIS出现REWRITE_DISABLED_KERNEL_CACHE警告致日志过多问题咨询
IIS REWRITE_DISABLED_KERNEL_CACHE警告及服务停止问题解答
忽略REWRITE_DISABLED_KERNEL_CACHE警告的安全性说明
该警告是IIS的常规告知类日志,本身不代表服务运行异常:
- 该警告触发的原因是启用HTTPS后,URL重写模块与IIS内核级缓存(HTTP.sys层级缓存)存在兼容性约束,只要配置了重写规则,内核缓存就会默认禁用,IIS就会在每次请求时输出该警告
- 直接忽略该警告是完全安全的,不会影响业务请求的正常处理,也不会引入安全风险,仅代表内核层快速缓存能力未生效
- 要停止生成该警告日志,可在IIS服务器的命令行执行以下命令:
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/rewrite /disableKernelCacheWarning:true
短轮询间隔小于15秒时服务停止的原因排查
单文件200kb的日志文件数量过多,只要服务器磁盘剩余空间充足,不会直接导致服务停止,该故障更大概率和内核缓存禁用后的请求处理性能不足有关:
- 内核缓存禁用后,所有请求都需要进入IIS用户态进程完成重写规则校验、业务逻辑处理,没有内核层的快速响应能力,短轮询带来的高并发会快速占满工作进程的CPU、内存资源,触发应用程序池的自动回收/停止机制,表现为服务不可用
- 可按以下步骤优化修复:
- 先执行上述命令关闭警告日志,避免不必要的磁盘IO占用和日志文件堆积
- 调整对应站点的应用程序池配置:适当调高CPU、内存的回收阈值,无状态服务可开启多工作进程(Web Garden)模式提升并发承载能力
- 为轮询接口配置用户态输出缓存,替代内核缓存降低请求处理开销
- 排查轮询接口的业务逻辑,确认是否存在数据库连接未释放、内存泄漏等资源耗尽问题
内容的提问来源于stack exchange,提问作者user1563232
相关产品推荐
相关产品推荐

