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

我做了一个简单的你好世界项目asp.net mvc2,3aspx和3剃刀和基准。我看到的是:

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测试虚拟目录使用的相同。净4综合方式应用程序的游泳池。所有项目完成后添加新的空x项目和添加1页1条案文和没有代码。所有网站都汇编在释放模式。我的系统是windows7、4gb 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%

更新2 斯科特*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 所有的测试完成释放模式,但是,问题是 debug="true" 在我的网络。配置文件(这也影响释放的基础)之后,它更改为虚假的,问题的固定。有趣的是它是如何影响只有剃刀的模板,在这个规模。这应该是在我们的脑海上部署。

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

谢谢来asp.net 视的团队,优秀的工作!

有帮助吗?

解决方案

(新的答案来回应你的RC2号)

谢谢你的最新数字。几点:

  1. 你Aspx数字看起来很好的,在这个意义上,我们期望MVC3Aspx是与MVC2Aspx(慢一点在这样的世界你好例子是,预计)
  2. 你的剃刀数字看起来可疑。我们知道剃刀是有点慢,比相当于Aspx,但是,差异应不得大于5%-7%.你的数字表明,50%的速度,这简直不配合我们的结果。检查的项目编制中的释放和你有 debug="false" 设置在网络。config。
  3. 你的CPU利用率是一位犯罪嫌疑人。用1000并发请求的CPU应utlized的100%。(甚至只有8并要求应该足够了,因为你有8个虚拟核心)
  4. 你的测试运行,为大约20-25秒。这是一个位于低端,因为一个短(1-2秒)突发的活动的其他地方的系统可以扔掉你的结果相当显着。
  5. 关于第4点,你有没有运行每个方案的一次或几次?你看到多少差异的结果?因为你的操作系统是做其他事情在后台这是典型的以看到不同的结果之间运行。

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top