温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

重叠处理

发布时间:2020-06-22 14:15:47 来源:网络 阅读:326 作者:rgyu567 栏目:系统运维

使用 IIS 5.0 时,如果一个运行于低隔离模式或运行于中隔离模式的 Web 网站发生了一次失效,那么重启网站的唯一方法就是重启整个 IIS。这样做会导致 IIS 突然停止服务,所以,在重启过程中到达的请求都将发生失效。
IIS 6.0 引入了一种革命性的概念,即重叠处理的概念。基于重叠处理的概念,即使一个应用程序池被回收,所有后来到达的请求仍然可以继续得到服务。IIS 7.0 仍然支持这个概念。
如果某个应用程序池被回收,那么现有的工作进程并没有马上退出,而是启动第二个工作进程,一旦第二个进程启动成功,Http.sys 随即将所有的新的请求发送给这个新的工作进程。当现有的工作进程处理完所有请求之后即关闭退出。因为 Http.sys 可以在将到达的请求发送给新的工作进程之前,完成对已到达的请求进行排队处理的操作,因此,在回收应用程序池的过程中,不会发生丢失页面请求的现象。

    尽管在回收应用程序池的过程中不会发生页面请求丢失现象,也不会出现页面请求发生失效的情况,但是对回收过程而言,确实可能存在不良影响,这是因为在回收应用程序池的过程中,所有保存在工作进程中的数据都将丢失。默认情况下,ASP.NET 保存了会话状态数据和进程内缓存数据(我们称之为 InProc 数据)。这些数据的有效时间与工作进程的存活时间完全相同,因此在回收应用程序池的过程中,必须重新创建这些数据。所以,必须考虑在进程外保存会话状态数据。可以在 StateServer、SQLServer,或其他外部会话状态存储区中保存会话状态数据。此外,当启动一个新的工作进程时,可能会发生加载性能问题。此时,IIS 和 ASP.NET 的各个方面内容都必须加载到工作进程中,因此总的来说加载时间还是比较长的,常常需要耗费几秒钟的时间。因此,与应用程序池正常运行情况相比,应用程序池回收之后运行的第一个页面常常要花费更多时间才能正常运行。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

iis
AI