【问题标题】:IIS express requests take 4 times longer to executeIIS express 请求的执行时间延长了 4 倍
【发布时间】:2026-02-21 02:35:01
【问题描述】:

我已将在 Windows 7 上运行的 WCAT 结果(相同的脚本)上传到 ts:included XSL in zip。对不起。

这是我注意到的:

  1. IIS Express 的每秒请求数和处理的总事务数略高于普通 IIS。
  2. IIS Express 一次最多执行 100 个请求,而 Windows 7 上的普通 IIS 按照设计限制为 10 个。
  3. IIS express 正在使用高出 30% 的 cpu,这可能是因为它一次处理了额外的请求。
  4. 但平均而言,Express 请求需要更长的时间才能完成……最多 4 倍。请参阅请求执行时间性能计数器和时间分析(第一个和最后一个字节)。

IIS Express 只能在总请求数上击败 IIS,因为它一次可以处理更多请求!

关于正在发生的事情的理论:

  1. IIS express 将每个请求打印到命令行窗口这一事实是否会减慢它的速度?
  2. 我还注意到在 IIS express applicationhost.config 中注册的许多附加模块不在 IIS applicationhost.config 中。那么额外的调试/跟踪模块是否会导致问题?
  3. 我注意到 IIS express 没有 FileCacheHTTPCache 模块。这可能是为什么?

我希望 asp.net 专家能够阐明如果 IIS express 不受限制,这些结果是如何可能的。

【问题讨论】:

    标签: asp.net iis iis-express


    【解决方案1】:

    默认情况下,IIS Express 会启用失败的请求跟踪。如果禁用它,您可能会看到一些性能提升。 (在 applicationhost.config 中为 traceFailedRequestsLogging 元素设置 enabled="false")

    【讨论】:

      【解决方案2】:

      连接点:http://forums.iis.net/p/1175052/1969390.aspx#1969390。 iis.net 论坛上也有人问了同样的问题,引发了热烈的讨论。

      澄清一下,IIS Express 主要是作为一种 Web 开发工具,它提供了 Cassini 开发服务器的超集功能。性能不是此版本的首要任务。 IIS Express 确实没有连接限制,但与 XP 的兼容性是有代价的。

      • 对于主要包含动态内容的应用程序,IIS express 的开销应该是可以接受的。
      • 对于具有大量静态内容的网站,缺少 http.sys 内核缓存和用户模式缓存将产生巨大的性能差异

      尝试将标准输出重定向到 nul。它会提高你的性能一点点。

      【讨论】:

        最近更新 更多