我想知道修改machine.config中的processModel是否会对IIS Express集成模式应用程序产生任何影响?
我正在尝试将maxWorkerThreads修改为至少100,因为我在Windows 7上使用WCAT比较正常的IIS与IIS express,看看scott是否正确,他说IIS express没有连接限制。
虽然IIS express确实显示30个请求同时执行,而正常的IIS限制为10,但实际的每秒请求总数在两者之间是可比较的,IIS表示cpu使用率更高,平均70个请求排队对0个请求等待正常的IIS!而四核i7的CPU仅为70%左右。肯定还有优化的空间吗?
其他详细信息
我已经在Windows 7(相同的脚本)上运行了WCAT结果 http://d1yb9lkqglrfzu.cloudfront.net/IISExpress-100VU-MachineConfig.zip
理论
即使设置了跟踪设置,IIS express也可以将每个请求打印到命令行窗口,但这样做会减慢它的速度。
我还注意到在IIS express applicationhost.config中注册了很多其他模块,这些模块不在IIS applicationhost.config中。然后额外的调试/跟踪模块可能导致问题。
我注意到IIS express没有FileCache和HTTPCache模块。这可能是为什么?
我希望asp.net专家可以澄清如果IIS express不受限制,这些结果是如何实现的。
答案 0 :(得分:6)
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的比较。