我应该为我的生产服务器使用processModel autoConfig =“true”吗?

我应该为我的生产服务器使用processModel autoConfig =“true”还是应该为processmodel自定义值?

编辑我有减速。 CPU正在最大化。 应用程序本身并不是CPU密集型的。 但是我们用SQL服务器来使用EF。

那么,默认是不是太糟糕了。 可能需要检查minFreeThreads和minLocalRequestFreeThreads:这两者都被设置为“8”,而大多数其他参数根据内核数量进行缩放。

最后,这取决于你的应用程序。 服务器没有考虑到代码的处理器密集程度,所以如果你有一个真正的处理器/内存密集型页面,你可能想进入并调整默认值,以减less相同的进程。

相反,如果你的网页真的是资源的话,你可能会调整默认值。

这一切都很好。 如果你设置autoConfig =“true”,而你没有看到任何问题,那就没问题。 如果你有减速和错误,你将需要重新审视configuration。

我会保持真实的 。 还有其他值可以玩,因为自动configuration通常很好。

微软知识库上的这篇文章有几乎所有你可能需要的信息:

* 从ASP.NET应用程序发出Web服务请求时出现争用,性能差和死锁


我会给你一些关于上述文章中处理的一些具体项目的研究。 以下信息适用于IIS6,适用于IIS7的注释。

将处理器工作线程池从25增加到至less100

线程池大小的默认值是100,因为autoConfig的默认值是true

autoConfig覆盖的值是

  • maxWorkerThreads
  • maxIoThreads
  • MAXCONNECTION

有一个值仍然是25,必须改变的是 – ASPProcessorThreadMax ,这只能在IIS6中的IIS元数据库(通过adsutil工具)中设置。 [IIS7的等价物是processorThreadMax值]

所以我select不更改machine.config设置,因为它们是好的,还有其他参数会受到closuresautoconfig的影响,而是通过IIS元数据库将ASPProcessorThreadMax从25更改为100(唯一的方法来更改此值)。

例如

cscript %SYSTEMDRIVE%\Inetpub\AdminScripts\<nowiki>adsutil.vb</nowiki>s SET W3SVC/AspRequestQueueMax 100 

每台服务器最多连接数

maxconnection 自动configuration将这个值设置为12 *的CPU数量,这就是一次可以连接到每个地址的连接数量。