gpt4 book ai didi

asp.net-mvc - 使用 IIS 7.5 限制每个处理器的线程

转载 作者:行者123 更新时间:2023-12-04 06:46:38 25 4
gpt4 key购买 nike

我正在 ASP.NET MVC 应用程序上运行一些性能测试。我看到高争用率和线程数增加的超时。我相信这两者是相关的,因为线程被阻塞,线程池会创建新线程来处理传入的请求。我相信这反过来会使争用变得更糟(即更多的线程更多的争用)。

正确的方法可能是找出争用的原因,即缩小临界区,验证是否确实需要所有锁等。但是,作为一个间歇性步骤,我想限制可以创建的线程数通过线程池。我的信念是,尽管这可能会导致请求在队列中停留更长时间,但总体上会有所改善,因为它会减少争用和线程上下文切换。

但是,我可以在 IIS 7.5 中找到如何配置它,有人可以帮助我吗?

谢谢,

最佳答案

终于找到了如何在 IIS 7.5 上执行此操作,您需要添加 CLRConfigFile属性到 applicationHost.config(位于 C:\Windows\System32\inetsrv\config)。

    <add name="ASP.NET v4.0" CLRConfigFile="C:\code\ThreadLeakWebSite\apppool.config" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" />

然后,您可以将限制线程数的参数添加到您指向的 apppool.config 配置中,即:
<configuration>
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="5000" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>
</system.web>
</configuration>

关于asp.net-mvc - 使用 IIS 7.5 限制每个处理器的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3677730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com