我遇到的问题是每隔一分钟就清除一次ASP.NET Cache对象。正确的行为是缓存对象应该持续24小时。最近,当我们的公共Web服务器最近从IIS 5升级到IIS 6时,此问题就开始了。在高峰时段,该站点每小时可获得大约15,000次页面浏览量。服务器管理员推测它可能是因为IIS 6中的线程回收。
有什么想法吗?
答案 0 :(得分:1)
检查事件日志 - 它将告诉您进程是否正在回收。
假设是,我认为当机器升级到Win2k3 / IIS6时,回收限制的某些设置没有移动到应用程序池设置中。在Win2k / IIS5中,回收设置位于machine.config文件的processModel节点中。需要将这些设置迁移到IIS6环境中的相应应用程序池(我猜这些设置不会自动迁移)。
我还会查看应用程序池上的回收设置。可能是它设置为过于频繁地回收(按分钟数或请求数)或者内存最大值设置得太低。