如何计算IIS 7网站的maxProcesses的“理想”值?

读例如:

  • “ 当最大工作者进程超过一个时,web应用运行速度是否会更快? ”和
  • “ 我有花……我应该去网吧吗? ”

和谷歌search我能想到的关键字,我似乎仍然现在回答我的问题:

我怎样才能计算在IIS中的maxProcesses值是一个好数字?

我会期待一些经验法则,如:

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

有人可以给我一些提示如何找出?

更新2014-01-21

我在文章“ 提升性能使用IIS网上花园 ”,似乎推荐像每个物理处理器核心1进程的文章。

好的,翻转这个问题并回答这个问题:你为什么网上园艺? 经验法则是:不要networking花园。

如果你必须使用网上花园,那么“正确”的方式取决于你带到的理由:

单个32位进程的内存太多?

  • 你的应用需要多less内存?
  • 64位工作进程会更有效率吗?

某种线程耗尽的问题? (长时间运行的线程绑定“所有”你的应用程序框架的线程池)

  • 你可以在同一个进程中增加线程池吗?
  • 限制有多less个线程?
  • 你需要多less?

进程级别的锁/机制造成某种性能问题

  • 应用程序可以扩展到什么程度?
  • 有多lessstream程可以达到规模要求?

等等

关于上面每个例子的关键要看情况 。 这取决于你的应用程序的特点。 这取决于为什么Web园艺是一个适合您的问题的解决scheme。 这取决于您需要采取的性能测量,以明智地得出networking园艺是您的问题的解决scheme的结论。

上面的每一个特性都会导致不同的答案 – 一些关于内存利用率,一些关于线程并发性,一些关于实际testing的性能问题和解决scheme。