ASP.NET Web Garden - 我需要多少个工作进程?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

决定有多少工作进程允许ASP.NET Web应用程序的最佳实践是什么?

在我管理的一台服务器上,创建一个新的AppPool默认为10(最多)工作进程。其他人认为正常情况是一个。

多个工作流程解决什么问题?决定多少?

提问于
用户回答回答于

工作进程是一种将多个exe文件分割成多个网页的方式。你这样做有几个原因,一个是如果其中一个工人因运行时间问题而遭到破坏,而另一个则不会让其他人失望。例如,如果一个html请求进入,导致进程失败,那么只有该工作进程处理的其他请求会被终止。另一个例子是一个请求可能导致对同一个worker处理的其他线程进行阻塞。

至于你需要多少,做一些负载测试。努力打开应用程序,看看只有一个会发生什么。然后再添加一些,然后再打一次。在某些时候,你会达到真正饱和机器网络,磁盘,CPU和内存的程度。那时你知道你有平衡。

顺便提一下,可以通过machine.config文件控制每个工作进程使用的线程数。我相信关键是maxWorkerThreads。

现在,请注意,如果使用会话,则会话状态不会在工作进程之间共享。我通常建议避免会议,但它是一些考虑。

对于所有意图和目的,您可以将每个工作进程视为自己独立的Web服务器。除了它们在同一个盒子上运行。

扫码关注云+社区