ASP.NET MVC 3剃须刀的性能ASP.NET MVC 3剃须刀的性能(ASP.NET MVC

2019-05-13 07:52发布

重要更新:看底部的更新5有在asp.net MVC 3没有性能问题,这是一个基准的问题

我做了在asp.net mvc2,3 ASPX和3剃须刀一个简单的Hello World项目和基准他们。 我看到的是:

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四个核。 我已经运行测试2次热身IIS和这些第二次运行的结果。 阿帕奇板凳参数: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%

更新2斯科特·格思里在他的博客中说:

我们还没有完全优化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次在发布模式下完成所有的测试,但问题是debug="true"在我的web.config文件(也影响发布版本),将其更改为固定误导,发行后。 而且它们也同样吸引它是如何在这个规模影响只剃须刀模板。 这应该是我们心中的部署。

System         Requests per second   CPU Utilization
----------------------------------------------------
mvc 3 rc2 razor               3940               58%
mvc 3 rc2 aspx                4100               58%

由于ASP.NET MVC团队,出色的工作!

Answer 1:

(新的答案回答您的RC2号)

感谢您的更新的数字。 有几个要点:

  1. 为ASPX数字好看,在我们预期MVC3 .aspx的是在同水准与MVC2 .aspx的(有点在这样一个Hello World例子较慢,预计)感
  2. 你的剃须刀数字看起来嫌疑。 我们知道,剃刀比同等.aspx的慢一点,但差别应该不超过5%-7%更大。 您的数字表明慢50%,这根本不与我们的结果相匹配。 检查项目在Release编译,你必须debug="false"在web.config中设置。
  3. 你的CPU使用率是有点怀疑。 随着1000所的并发请求的CPU应该点移动平均滤波器100%。 (即使只有8并发请求应该足够,因为你有8个虚拟内核)
  4. 你的测试运行了大约20-25秒。 这是偏低一点,因为活动的短(1-2秒)的破裂系统其它地方可以甩开你的结果相当显著。
  5. 涉及到4点,你运行的每个场景一次或几次? 你看到的结果多少变化? 由于你的操作系统是在后台做其他事情很典型,看看运行之间不同的结果。


Answer 2:

你是如何执行的标杆? 是你的网站在模式解除在IIS上部署? 是否使用了<deployment retail="true" />部分在machine.config中? 还记得ASP.NET MVC 3是还在开发,所以你不能指望它尚未得到充分优化。 至少等到它击中RTM。



文章来源: ASP.NET MVC 3 Razor performance