代码改变世界

IIS6应用程序池中间的 Web 园

2005-12-11 20:10  无常  阅读(4666)  评论(5编辑  收藏  举报

在IIS6中每个应用程序池在独立的进程中运行,默认每个应用程序池开启一个进程
在应用程序池属性的“性能”页,可以设置每个程序池的进程数,如下图

 

今天修改了论坛(asp程序)配置,把工作进程数改为2个,问题就出来了,论坛用户始终登录不进去!
在百度找了一下就找到了下面的答案,注意红色部分。
原来同一程序池中,不同工作进程的会话信息是独立的,如果在登录页面是在进程一中执行,那登录成功的session信息就保存在进程一中。登录成功后转到另一个页面,如果这时又轮到另一个进程来执行这个页面,那么这个在页面中是访问不到刚才保存的会话信息的,这样此页面就会认识用户是没有登录。
wuchangx@gmail.com
qq:3263262

 
------------------------------------------------
问: IIS 6.0 具有一个名为 Web 园的新功能,有了它,可以将应用程序池配置为使用多个工作进程。IIS 何时创建额外的工作进程?在我们实施 Web 园之前,我们应该了解哪些知识?

 答:在您创建应用程序池时,就会通知 IIS 6 创建一个工作进程,以传送指派给该应用程序池的 Web 站点、文件和文件夹的内容。您可以将应用程序池配置为启动多个,而非一个工作进程,这样可以提高可扩展性。这个功能的名为 Web 园,是小型的“Web 农场”。您无需使用多台计算机来传送相同的内容(Web 农场),而是可以使用一台计算机中的多个进程来传送相同的内容。

在将 IIS 6 应用程序配置为 Web 园时,您只需在“应用程序池属性”的“性能”选项卡的“最大工作进程数”框中,设置一个大于 1 的工作进程数。如果这个值大于 1,每个请求都将启动一个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数。后续的请求将以循环的方式发送至工作进程。

Web 园在您的应用程序资源有限的情况下非常有用。例如,如果您到数据库的连接很慢,那么您可以使用多个工作进程来增加用户吞吐量,从而增加到数据库的连接数。

尽管在有些情况下使用 Web 园的用处非常大,但是要注意,每个工作进程的会话信息都是唯一的。由于请求以循环的方式路由到应用程序池工作进程,因此 Web 园对于会话信息存储在进程中的应用程序作用可能不大。在少数情况下,让多个工作进程运行同一个应用程序会造成资源竞争。例如,如果所有工作进程都试图将信息记录到日志文件中,或是使用那些不是专用于多个并发访问的资源,那么可能出现资源竞争问题。

如果不存在这些问题,那么 Web 园可能正是您所需的功能之一,而且其作用会非常大。

http://www.patching.net/bbs/viewgooddoc.asp?id=50177&bordid=1