我的生产服务器是否应该使用 processModel autoConfig="true"?

我的生产服务器是否应该使用 processModel autoConfig="true"?

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

编辑我确实遇到了速度变慢的问题。CPU 已达到最大值。应用程序本身并不占用太多 CPU。但我们确实将 EF 与 SQL Server 结合使用。

答案1

嗯,默认值还不错。可能需要检查 minFreeThreads 和 minLocalRequestFreeThreads:这两个都设置为“8”,而大多数其他参数则根据核心数量进行缩放。

最后,这取决于您的应用程序。服务器不会考虑您的代码对处理器的占用程度,因此如果您有一个真正占用大量处理器/内存的页面,您可能需要进入并调整默认值,以便同时运行更少的进程。

相反,如果您的页面资源确实很少,您可能能够调整默认值。

这些都是微调。如果您设置了 autoConfig="true" 并且没有发现任何问题,那么一切正常。如果出现速度减慢和错误,则需要重新检查配置。

答案2

我会把它留给真的。您还可以使用其他值,因为自动配置通常没问题。

微软知识库中有一篇文章,其中几乎包含您可能需要的所有信息:

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


我将向您介绍我针对上述文章中处理的一些具体项目所做的研究。以下信息适用于 IIS6,注释适用于 IIS7(如适用)。

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

线程池大小的默认值为 100,因为自动配置真的

涵盖的价值观自动配置

  • 最大工作线程数
  • 最大 IoThreads
  • 最大连接数

有一个值仍然是 25,必须更改,即 –ASPProcessorThreadMax,这只能在 IIS 元数据库中设置(通过广告工具工具)在 IIS6 中可用。[IIS7 的等效工具是处理器线程最大数价值]

所以我选择不改变机器配置设置,因为它们很好,并且还有其他参数会因关闭而受到影响自动配置而是改变ASPProcessorThreadMax通过 IIS 元数据库将其从 25 更改为 100(这是更改此值的唯一方法)。

例如

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

每台服务器的最大连接数

最大连接数自动配置将此值设置为 12*CPU 数量,这就是您一次连接的每个地址可以建立的连接数。

相关内容