c# - IIS 工作进程和工作线程

标签 c# performance iis worker-process worker-thread

我有一个简单的 ASP.Net MVC 应用程序,部署在 IIS 中。我在此应用程序上运行了示例负载测试。我的申请中记录了响应时间。当我将应用程序的响应时间与 IIS 响应时间进行比较时,IIS 响应时间比我的应用程序日志高太多。

据我了解,IIS 没有足够的工作线程来处理请求并保持请求。此保持时间也记录为 IIS 响应时间的一部分。

我的理解正确吗?如果是,如何增加工作线程以增加整体吞吐量。

我尝试了以下步骤来增加工作线程,但更改后没有看到任何影响。 https://support.microsoft.com/en-us/help/821268/contention-poor-performance-and-deadlocks-when-you-make-calls-to-web-s

问候

最佳答案

如果您的服务器已饱和(已达到最大)当前请求,那么添加更多线程可能不是一个好主意。这只会造成更多的资源争夺,并使问题变得更糟。

当您的服务器一次接收太多请求,并且超出其容量时,IIS 会将请求排队以缓解压力,直到当前请求能够完成。

您的测试只是揭示了系统的容量。此时,如果您的容量不够高,则需要考虑优化策略或考虑其他选项,例如“向上扩展”或“向外扩展”。

关于c# - IIS 工作进程和工作线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53120889/

相关文章:

java - SQL 请求和循环结果最佳模式

javascript - 为什么 hoverintent 函数使用这么多 CPU?

c# - 图像缓存、HTTPHandler 和 FormsAuthentication

Windows XP 上的 IIS

c# - 当 JIT 不能优化时,什么静态编译器可以优化?

c# - 找不到 DinkToPdf dll libwkhtmltox

javascript - 如何让这段JavaScript代码更实用呢?

ruby-on-rails - Helicon Zoo 上的 Rails 非常慢

c# - 在 MouseDown 事件处理程序中检测 Ctrl+Left(鼠标按钮)

c# - 如何在 Xamarin.Android 中更新 Maps SDK(版本 18.0)?