阅读例如:
我用谷歌搜索我能想到的每一个关键词,似乎仍然找到了我的问题的答案:
我如何计算出
maxProcesses
价值在 IIS 中会怎样?
我本来期望有一些经验法则,例如:
- “永远不要超过 50”或
- “将可用 RAM 除以 20”或
- “每 100 个并发请求一个进程”
有人可以给我一些提示,告诉我如何找出答案吗?
更新 2014-01-21
我偶然看到了这篇文章“使用 IIS 网络园提升性能“这似乎建议每个物理处理器核心使用 1 个进程。
答案1
好的,请反过来回答这个问题:你为什么要进行网络园艺?经验法则是:不要进行网络园艺。
如果您必须使用网络花园,那么“正确”的方法取决于您使用网络花园的原因:
对于单个 32 位进程来说内存是否太多了?
- 您的应用需要多少内存?
- 64 位工作进程是否更高效?
存在某种线程耗尽问题吗?(长时间运行的线程占用了“所有”应用框架的线程池)
- 您可以在同一进程内增加线程池吗?
- 线程数限制是多少?
- 你需要多少?
进程级锁/机制导致某种性能问题
- 该应用程序可以扩展到什么程度?
- 有多少流程可以达到所需的规模?
等等等等。
这钥匙上面每个例子要注意的是这取决于。这取决于您应用的特性。这取决于为什么 Web Gardening 是您问题的合适解决方案。这取决于您需要进行的性能测量,以便明智地得出结论:Web Gardening 是您问题的解决方案。
上述每个特征都会引导您得出不同的答案——一些是关于内存利用率,一些是关于线程并发,一些是关于实际测试的性能问题及其解决方案。