【发布时间】:2011-04-07 15:19:34
【问题描述】:
对于 IIS7 当Maximum Worker Processes 超过一个时,Web 应用程序是否运行得更快?
【问题讨论】:
标签: iis-7
对于 IIS7 当Maximum Worker Processes 超过一个时,Web 应用程序是否运行得更快?
【问题讨论】:
标签: iis-7
通过将最大工作进程数增加到 1 以上,您正在创建一个 Web Garden。所以简短的回答是:可能不会……除非:
引用Chris Adams前IIS PM的文章I have flowers... should I get a Web Garden?:
Web Gardens 的设计只有一个原因 - 为不受 CPU 限制但执行长时间运行请求的应用程序提供扩展能力,并且不会耗尽工作进程中的所有可用线程。
示例可能类似于 -
发出长时间运行的数据库请求的应用程序(例如高计算数据库事务)
线程被长时间运行的同步和网络密集型事务占用的应用程序
你必须问自己的问题 -
服务器当前的 CPU 使用率是多少?
应用程序的线程在执行什么,它们是什么类型的请求?
根据上述标准,您应该更好地了解何时使用 Web Gardens。如果您不使用用户界面来配置此功能,则元数据库中的 Web Gardens 等于 MaxProcesses 元数据库属性。
cscript adsutil.vbs 设置 w3svc/apppools/defaultapppool/maxprocesses 4
我希望我能从这个博客中获得一些收获,更重要的是,我希望它能帮助你更好地理解这一点……
您可能想查看“什么是 Web Garden?”来自Deploying ASP.NET Websites on IIS 7.0 [codeproject.com] 说:
默认情况下,每个应用程序池都使用单个工作进程 (W3Wp.exe) 运行。我们可以使用单个应用程序池分配多个工作进程。具有多个 Worker 进程的应用程序池称为“Web Gardens”。许多具有相同应用程序池的工作进程有时可以提供更好的吞吐量性能和应用程序响应时间。每个工作进程都应该有自己的线程和自己的内存空间。
【讨论】: