一个应用程序池分配了多少个工作进程?

一个应用程序池分配了多少个工作进程?

我可以配置应用程序池需要使用的工作进程数量吗?

答案1

是的,在 IIS 术语中它被称为“Web Garden”。但是您应该知道,如果您使用“进程内”会话管理(传统 ASP 或 ASP.NET),那么会话状态将不会在这些进程之间共享。

如果您以任何方式使用 Session,您可能需要重新架构您的应用程序以使用进程外会话存储或更改您的配置。

使用 ASP.NET,您可以配置会话状态管理以使用多种不同的会话状态机制:

sessionState 元素(ASP.NET 设置架构)

除了内置的会话存储之外,您甚至还可以提供自己的自定义提供程序。

使用传统 ASP 时,您可能会陷入进程内会话的困境,或者需要自行处理。

CGI 环境通常不需要多个工作进程,因为请求会被转交给必要的 CGI exe。此外,由于 CGI 的性质,基于 CGI 的脚本语言(如 PHP 和 Perl)往往默认将其会话数据存储在进程外。

答案2

是的。为应用程序池提供服务的最大工作进程数在应用程序池中定义processModel部分. 该属性被称为maxProcesses

您可以使用 IIS 管理器设置此属性:

  • 右键单击要配置的应用程序池
  • 选择高级设置
  • 增加最大工作进程数数数
  • 相关内容