如何计算 IIS 7 网络花园的 maxProcesses 的“理想”值?

如何计算 IIS 7 网络花园的 maxProcesses 的“理想”值?

阅读例如:

我用谷歌搜索我能想到的每一个关键词,似乎仍然找到了我的问题的答案:

我如何计算出maxProcesses价值在 IIS 中会怎样?

我本来期望有一些经验法则,例如:

  • “永远不要超过 50”或
  • “将可用 RAM 除以 20”或
  • “每 100 个并发请求一个进程”

有人可以给我一些提示,告诉我如何找出答案吗?

更新 2014-01-21

我偶然看到了这篇文章“使用 IIS 网络园提升性能“这似乎建议每个物理处理器核心使用 1 个进程。

答案1

好的,请反过来回答这个问题:你为什么要进行网络园艺?经验法则是:不要进行网络园艺。

如果您必须使用网络花园,那么“正确”的方法取决于您使用网络花园的原因:

对于单个 32 位进程来说内存是否太多了?

  • 您的应用需要多少内存?
  • 64 位工作进程是否更高效?

存在某种线程耗尽问题吗?(长时间运行的线程占用了“所有”应用框架的线程池)

  • 您可以在同一进程内增加线程池吗?
  • 线程数限制是多少?
  • 你需要多少?

进程级锁/机制导致某种性能问题

  • 该应用程序可以扩展到什么程度?
  • 有多少流程可以达到所需的规模?

等等等等。

钥匙上面每个例子要注意的是这取决于。这取决于您应用的特性。这取决于为什么 Web Gardening 是您问题的合适解决方案。这取决于您需要进行的性能测量,以便明智地得出结论:Web Gardening 是您问题的解决方案。

上述每个特征都会引导您得出不同的答案——一些是关于内存利用率,一些是关于线程并发,一些是关于实际测试的性能问题及其解决方案。

相关内容