当最大工作进程多于一个时,Web应用程序是否运行得更快?

时间:2011-04-07 15:19:35

标签: iis-7

用于IIS7 当最大工作进程多于一个时,Web应用程序是否运行得更快?

2 个答案:

答案 0 :(得分:23)

通过将最大工作进程数增加到1,您将创建一个Web Garden。所以简短的回答是:可能没有...除非:

引用Chris Adams前IIS I的文章I have flowers... should I get a Web Garden?

  

网络花园的设计只有一个原因 - 提供不受CPU约束但执行长时间运行请求的应用程序能够扩展并且不会耗尽工作进程中可用的所有线程。
  例子可能是 -
  长期运行数据库请求的应用程序(例如高计算数据库事务)
  具有线程的应用程序由长时间运行的同步和网络密集型事务占用   你必须问自己的问题 -
  服务器当前的CPU使用率是多少?   应用程序的线程执行的是什么以及它们是什么类型的请求?   根据上述标准,您应该更好地了解何时使用Web Gardens。如果您未使用用户界面配置此功能,则元数据库中的Web Gardens等于MaxProcesses配置数据库属性。
  cscript adsutil.vbs设置w3svc / apppools / defaultapppool / maxprocesses 4
  我希望我能从这个博客中获得一些好处,更重要的是我希望它能帮助你更好地理解这个......

您可能想看看“什么是网络花园?”来自Deploying ASP.NET Websites on IIS 7.0 [codeproject.com],其中说:

  

默认情况下,每个应用程序池都使用单个工作进程(W3Wp.exe)运行。我们可以使用单个应用程序池分配多个工作进程。具有多个工作进程的应用程序池称为“Web Gardens”。具有相同应用程序池的许多工作进程有时可提供更好的吞吐量性能和应用程序响应时间每个工作进程都应该有自己的Thread和Own Memory空间。

答案 1 :(得分:0)

如果应用程序包含阻止其并行化的锁,则WebGarden比单个工作进程更快。例如,基于GDI +的图像处理。

有关详细信息,请参阅thisthis个问题。