IIS6中应用程序池和Web园,解决Session丢失问题
2012-06-27 06:39
274 查看
最近服务器出现了几个问题:多个.NET版本造成网站瘫痪和Session丢失。
针对第一个问题可使用多个应用程序池来解决;第二个采用了把session存在aspnet_state进程中(aspnet_state进程独立于w3wp.exe);
但对第二个问题很纠结,为什么Session存在w3wp进程中会丢失,之前猜测可能是其他应用程序占用内存太大,以至于系统回收内存把session给回收了。但继续研究才发现有3个w3wp进程,这事由于Web园被设置了。下来来理解下相关概念和原理:
首先了解下应用程序池
应用程序池是一个工作进程或多个工作进程的集合,默认情况下每个应用程序池都会有一个工作进程(w3wp.exe)与之对应,由于工作进程是相互隔离的,所以一个应用程序池发生问题不会对已另一个应用程序池中的应用程序造成影响。这也被常被用于解决多个.NET版本问题。
再来了解下Web园
一个应用程序池默认是开启一个工作进程,但也可以开启多个工作进程,这样可提高性能,这个功能名为Web园,是小型的“Web农场”,您无需使用多台计算机来传送相同内容(Web农场),而是可以使用一台计算机中的多个进程来传送相同内容。
配置Web园:
IIS->应用程序池->选中使用的应用程序池->右键属性->性能->Web园->最大工作进程数
设置最大进程数大于1,如果这个值大于1,每个请求将启动一个新的工作进程实例,可启动的最多进程数位您所设置的进程数,最大可设置为4000000.后续请求将以循环的方式发送至工作进程。但使用Web园要考虑以下两点:
每一个工作进程都会消耗系统资源和CPU占用率,太多的工作进程不仅会导致系统资源和CPU利用率急剧消耗,还会造成资源竞争;
每一个工作进程都具有自己的状态数据,由于请求以循环的方式路由到应用程序池工作进程,这就造成数据不一致,比如session丢失等;
还有些朋友发现有多个w3wp进程,很不理解,有些朋友甚至认为是病毒。其实这完全和Web园的设置有关,一个工作进程就是一个w3wp.
针对第一个问题可使用多个应用程序池来解决;第二个采用了把session存在aspnet_state进程中(aspnet_state进程独立于w3wp.exe);
但对第二个问题很纠结,为什么Session存在w3wp进程中会丢失,之前猜测可能是其他应用程序占用内存太大,以至于系统回收内存把session给回收了。但继续研究才发现有3个w3wp进程,这事由于Web园被设置了。下来来理解下相关概念和原理:
首先了解下应用程序池
应用程序池是一个工作进程或多个工作进程的集合,默认情况下每个应用程序池都会有一个工作进程(w3wp.exe)与之对应,由于工作进程是相互隔离的,所以一个应用程序池发生问题不会对已另一个应用程序池中的应用程序造成影响。这也被常被用于解决多个.NET版本问题。
再来了解下Web园
一个应用程序池默认是开启一个工作进程,但也可以开启多个工作进程,这样可提高性能,这个功能名为Web园,是小型的“Web农场”,您无需使用多台计算机来传送相同内容(Web农场),而是可以使用一台计算机中的多个进程来传送相同内容。
配置Web园:
IIS->应用程序池->选中使用的应用程序池->右键属性->性能->Web园->最大工作进程数
设置最大进程数大于1,如果这个值大于1,每个请求将启动一个新的工作进程实例,可启动的最多进程数位您所设置的进程数,最大可设置为4000000.后续请求将以循环的方式发送至工作进程。但使用Web园要考虑以下两点:
每一个工作进程都会消耗系统资源和CPU占用率,太多的工作进程不仅会导致系统资源和CPU利用率急剧消耗,还会造成资源竞争;
每一个工作进程都具有自己的状态数据,由于请求以循环的方式路由到应用程序池工作进程,这就造成数据不一致,比如session丢失等;
还有些朋友发现有多个w3wp进程,很不理解,有些朋友甚至认为是病毒。其实这完全和Web园的设置有关,一个工作进程就是一个w3wp.
相关文章推荐
- web园[转]_解决IIS的Session丢失问题
- 解决模式对话框和window.open打开新页面Session会丢失问题
- [转]ASP.NET 状态服务 及 session丢失问题解决方案总结
- IIS6.0 应用程序池Web园导致Session丢失(转改添加)
- iframe跨域Session丢失问题的解决办法
- c#中Session丢失问题解决办法
- weblogic通过代理插件weblogic.servlet.proxy.HttpProxyServlet跨域访问导致session丢失问题的解决
- 调试过程中Session丢失问题的解决
- 解决访问不同的站点iframe应用session丢失(cookie丢失的问题)的问题
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- 解决IE10中ASP.NET中Cookie或Session丢失问题
- 解决session丢失问题
- IE8 jquery Ajax 导致Session 丢失问题解决办法
- ASP.NET 状态服务 及 session丢失问题解决方案总结
- ASP.NET在IE10中无法判断用户已登入及Session丢失问题解决方法
- 2003下iis6的session丢失问题
- 使用redis集群+tomcat缓存共享下session丢失问题产生原因以及解决
- ASP.NET状态服务及session丢失问题解决方案总结(转)
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法