ASP.NET MVC 3 Razor性能
重要更新:请参阅底部的更新5,在asp.net mvc 3中没有性能问题,这是一个基准问题
我在asp.net mvc2,3 aspx和3 razor中制作了一个简单的hello世界项目并对它们进行了基准测试。 我看到的是:
System Requests per second
-------------------------------------------
asp.net mvc 2 ASPX 4200
asp.net mvc 3 Beta 1 ASPX 3200
asp.net mvc 3 Beta 1 Razor 1700
剃刀有什么问题,它很慢?
更新:我已经重做了测试。 所有4个测试虚拟目录使用相同的.net 4集成模式应用程序池。 所有的项目都是通过添加新的空x项目并添加1页,1行文本和无代码。 所有站点都以发布模式编译。 我的系统是Windows 7,4 Gb i7 4核心。 我已经运行了2次测试来预热iis,这是第二次运行的结果。 apache工作台参数:ab -n100000 -c1000结果:
System Requests per second CPU Utilization
----------------------------------------------------
asp.net 4 4780 43%
mcv 2 4322 58%
mvc 3 beta 1 aspx 2324 54%
mvc 3 beta 1 razor 1615 54%
Update 2 Scott Guthrie在他的博客中回答道:
我们还没有完全优化MVC3(通常我们会进行很多缓存调优)。 我们预计在最终发布之前,剃须刀与.aspx视图引擎的性能相同。
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc1 razor 1960 54%
mvc 3 rc2 razor 2187 54%
mvc 3 rc2 aspx 4014 58%
更新5发布模式下完成的所有测试,但问题是我的web.config文件中的debug="true"
(它也会影响发布版本),将其更改为false后,修复问题。 它很有趣,它只影响这种规模的剃刀模板。 这应该是我们关于部署的想法。
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc2 razor 3940 58%
mvc 3 rc2 aspx 4100 58%
感谢asp.net mvc团队,出色的工作!
(答复您的RC2号码的新答案)
感谢您更新的号码。 几点:
debug="false"
。 你是如何执行基准测试的? 您的网站是否以模式发布部署在IIS上? 您是否在machine.config中使用了<deployment retail="true" />
部分? 另外请记住,ASP.NET MVC 3仍处于严重的发展中,所以你不能指望它已经完全优化了。 至少等到它碰到RTM。
上一篇: ASP.NET MVC 3 Razor performance
下一篇: Node.js on multi