IIS express请求的执行时间要长4倍

时间:2011-01-25 14:56:06

标签: asp.net iis iis-express

我已经在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. 但平均而言,快递请求需要更长时间才能完成。要长4倍。请参阅请求执行时间性能计数器和时间分析(第一个和最后一个字节)。
  5. IIS Express只能在提供的总请求中击败IIS,因为它可以一次处理更多请求!

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

    1. 即使设置了跟踪设置,IIS express也可以将每个请求打印到命令行窗口,这会减慢它吗?
    2. 我还注意到在IIS applicationhost.config中没有在IIS applicationhost.config中注册的许多其他模块。那么额外的调试/跟踪模块会导致问题吗?
    3. 我注意到IIS express没有FileCacheHTTPCache个模块。这可能是为什么?
    4. 我希望asp.net专家可以澄清如果IIS express不受限制,这些结果是如何实现的。

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:4)

连接点:http://forums.iis.net/p/1175052/1969390.aspx#1969390。在iis.net论坛上也提出了同样的问题,并且讨论了热烈的讨论。

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

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

尝试将stdout重定向到nul。它会提高你的性能。