Asp.net 带有IIS express的machine.config和processmodel

Asp.net 带有IIS express的machine.config和processmodel,asp.net,iis,iis-7.5,webmatrix,iis-express,Asp.net,Iis,Iis 7.5,Webmatrix,Iis Express,我想知道在machine.config中修改processModel是否会对IIS express集成模式应用程序产生任何影响 我正在尝试将maxWorkerThreads修改为至少100,因为我使用WCAT在Windows7上比较了普通IIS和IIS express,以查看scott所说的IIS express没有连接限制时是否正确 虽然IIS express显示30多个请求同时执行,而IIS的正常限制为10,但实际每秒请求总数在两者之间相当,IIS express的cpu使用率要高得多,平均

我想知道在machine.config中修改processModel是否会对IIS express集成模式应用程序产生任何影响

我正在尝试将maxWorkerThreads修改为至少100,因为我使用WCAT在Windows7上比较了普通IIS和IIS express,以查看scott所说的IIS express没有连接限制时是否正确

虽然IIS express显示30多个请求同时执行,而IIS的正常限制为10,但实际每秒请求总数在两者之间相当,IIS express的cpu使用率要高得多,平均有70个请求排队,而等待正常IIS的请求为0个!而在四核i7上,CPU仅占70%左右。当然有优化的空间

其他细节

我已将在windows 7上运行的WCAT结果(相同的脚本)上载到

  • 与普通IIS相比,IIS Express每秒的请求数和服务的事务总数略高
  • IIS Express一次最多执行50个请求,而windows 7上的普通IIS按设计限制为10个
  • IIS express使用的cpu高出30%,可能是因为它一次处理额外的请求
  • 但平均而言,快速请求需要更长的时间才能完成。请参阅请求执行时间性能计数器和时间分析(第一个和最后一个字节)。Express只能在服务的请求总数上击败IIS,因为它一次可以处理更多的请求 理论

  • IIS express正在将每个请求打印到命令行窗口(即使跟踪设置为“无”)这一事实是否会减慢它的速度

  • 我还注意到在IIS express applicationhost.config中注册的许多其他模块不在IIS applicationhost.config中。然后,可能是额外的调试/跟踪模块导致了问题

  • 我注意到IIS express没有FileCache和HTTPCache模块。这可能是原因吗


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

    Machine.config设置适用于在IISExpress中运行的asp.net应用程序。只需确保您匹配.Net版本和比特数(iisexpress仅在32位模式下运行,因此

    • %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.CONFIG
    • %windir%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.CONFIG
      是基于CLR版本的正确文件。不要编辑Framework64目录中的文件
    IIS Express不会限制连接,尽管操作系统本身可能存在一些限制。 对于iis express来说,性能并不是最重要的。iis express并不是有意限制执行,但并没有完全利用CPU。
    您的性能开销观察结果很有趣。我将探讨可能的原因。您是否尝试在循环中运行单线程客户端应用程序,以查看IIS与IIS Express的比较情况。

    非常感谢您的答复。我知道您是IIS专家,请查看添加的其他详细信息。我想您会找到WCAT结果s非常有趣。应用程序使用.NET 2.0集成应用程序池在IIS和Express上运行。IIS Express可能会添加额外的模块或额外的调试开销。但根据上述结果,作为个人web服务器的Express实际上可能比windows 7下的IIS差得多,尤其是对于少数客户端。需要特别注意的是IIS 8/10 Express有32和64个but版本,它们使用.NET 4的machine.config。