machine.config和processmodel与IIS快递

问题描述:

我想知道是否修改machine.config中的processModel将对IIS快速集成模式应用程序有任何影响?machine.config和processmodel与IIS快递

我试图将maxWorkerThreads修改为至少100,因为我使用WCAT比较了正常的IIS与IIS Express在Windows 7上的对比情况,看看scott是否正确,他说IIS express没有连接限制。

尽管IIS express显示30个以上的请求在正常的IIS限制10的同时执行,但两者之间每秒的实际总请求数相差无几,IIS Express有更高的CPU使用率,平均70个请求排队与0请求正在等待正常的IIS!在四核i7上,CPU只有70%左右。当然还有优化的空间吗?

额外的细节

我已经上传在Windows 7上,同一个脚本运行WCAT成果, http://d1yb9lkqglrfzu.cloudfront.net/IISExpress-100VU-MachineConfig.zip

  1. IIS Express有轻微每秒更高的要求,而且比正常的IIS服务的交易总额。
  2. IIS Express一次最多可执行50个请求,而Windows 7上的正常IIS限制为10个。
  3. IIS express使用的CPU高出30%,可能是因为它一次处理额外的请求。
  4. 但平均而言,快递请求需要花费很多需要更长时间才能完成。请参阅请求执行时间性能计数器和时间分析(第一个字节和最后一个字节)。 Express在所有服务请求中只能击败IIS,因为它一次可以处理更多请求!

理论

  1. 能的事实,IIS快车正在打印的每个请求命令行窗口即使跟踪设置无被减缓下来。

  2. 我还注意到在IIS express application.config中没有注册的IIS express applicationhost.config中注册了很多附加模块。那么额外的调试/追踪模块会导致问题。

  3. 我注意到IIS Express没有FileCache和HTTPCache模块。那可能是为什么?

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

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进行比较的方式。

+0

非常感谢您的回复。我看到你是一名IIS专家,请查看其他详细信息。我想你会发现WCAT的结果非常有趣。应用程序使用.NET 2.0集成应用程序池在IIS和Express上运行。也许IIS express会增加额外的模块或额外的调试开销。但基于上述结果表明,个人网络服务器实际上可能比windows 7下的IIS差得多,尤其是对于少数客户端。 – Tuviah

+0

需要特别说明的是,IIS 8/10 Express具有32和64两种版本,并且它们使用.NET 4的machine.config。 –