如何增加IIS进程优先级(对于w3wp和iis apppool)?

时间:2012-11-15 19:06:28

标签: asp.net iis iis-7 remoting

有一个带有一组Web服务的ASP.NET应用程序,并且有一个WinForms应用程序可以调用这些Web服务。

w3wp.exe(处理asmx调用)运行执行真正“硬”工作的特殊进程(如压缩,xml解析等)。这是一个很长的故事,为什么我们需要在单独的进程中完成它以及为什么我们不在w3wp.exe中运行此代码 - 这在这里无所谓。一定是这样的。

如果多个请求同时来自许多用户,则可能有30-40个这样的进程,并且它们消耗CPU。他们消耗它太多,几乎没有任何CPU资源留给IIS本身。

因此,接下来的问题是:当以下HTTP请求进入此IIS时,IIS无法处理它们:它甚至无法将它们传递给w3wp.exe,因为服务器被“轰炸”。和因此,在高峰时间,30个用户运行了他们的查询,第31个用户在WinForms客户端“超时到期”中获得了WebException。

我在互联网上发现了很多文章,解释了如何调整IIS,但没有人考虑到其他进程和/或应用程序可以在同一台机器上运行的事实。并且没有人告诉我们该怎么做才能使IIS具有更高的优先级。

所以,接下来的问题是:有没有办法“解释”IIS应该默认启动apppool(svchost.exe)和w3wp.exe优先级高吗?

1 个答案:

答案 0 :(得分:0)

我在Windows Server 2008 r2中遇到过这个问题。 我有一个Windows服务(使用并行处理),这曾经使我的CPU膨胀很多。没有留下任何IIS和& SQL Server。

因此,我将处理器关联性设置为Windows服务,仅使用特定处理器。 您进入任务管理器 - > RightClick进程 - >设置亲和力。

这使得其他处理器可以免费用于SQL& IIS。

在某种程度上,它降低了Windows服务的生产力,后者现在使用的是一组有限的处理器,但这并不重要。