当前位置:  开发笔记 > 后端 > 正文

ASP.NET MVC性能

如何解决《ASP.NETMVC性能》经验,为你挑选了8个好方法。

我发现ASP.NET MVC比ASP.NET WebForms快30倍.有什么真正的性能差异,这是衡量和性能的好处.

这是为了帮助我考虑从ASP.NET WebForms迁移到ASP.NET MVC.



1> Haacked..:

我们还没有进行必要的可扩展性和性能测试,以得出任何结论.我认为ScottGu可能一直在讨论潜在的性能指标.随着我们向Beta和RTM迈进,我们将在内部进行更多的性能测试.但是,我不确定我们的政策是关于发布性能测试的结果.

无论如何,任何此类测试都需要考虑实际应用......


现在MVC已经发布,是否有关于发布perf结果的更新?
这个数字是42. :)一般来说,我们的数字可能对现实世界的应用程序没用,所以我们通常不会给出它们.但是,我知道微软的其他团队建立的大型网站显示了有利的数字.换句话说,任何性能问题更可能是程序员错误造成的,而不是框架中的任何继承问题.通常,与数据库和外部服务的交互是罪魁祸首.:)
只是投票,因为之前的5,999个比赛得分伤害了我的眼睛:(
需要更新.
到这个时候,你肯定有一些数字.小心更新你的答案?或者你是否发现讨厌的政策禁止它?

2> Todd..:

我认为这将是一个难以回答的难题,因为这将取决于A)如何实现WebForms应用程序,以及B)如何实现MVC应用程序.在它们的"原始"形式中,MVC可能比WebForms更快,但是多年和多年的工具和经验已经产生了许多用于构建快速WebForms应用程序的技术.我愿意打赌,一位资深的ASP.NET开发人员可以生成一个可以与任何MVC应用程序的速度相媲美的WebForms应用程序 - 或者至少可以实现微不足道的差异.

正如@tvanfosson建议的那样,真正的区别在于可测试性和干净的SoC.如果提高性能是您最关心的问题,我认为这不是跳上WebForms并开始在MVC中重建的理由.至少在您尝试使用可用于优化WebForms的技术之前.



3> DevelopingCh..:

它将我的一个页面从2MB有效载荷减少到200k,只需删除视图状态并以编程方式使其可以使用提交的输出.

仅仅大小,即使处理相同,也会在每秒连接数和请求速度方面产生巨大的改进.


你可以在没有MVC的情况下修复那个讨厌的大型视图状态
是的,但在mvc中,它是一个理智的默认设置,而不是一个设计决定,迫使你离开所有控件和声称只是在Web表单上工作的供应商,通过删除它的后骨使Web表单"错误行为".我不同意你可以重新编写那个页面,但整个应用程序在没有viewstate的情况下更好.

4> Ariel..:

我认为许多认为WebForms本身就很慢或资源密集的人将责任归咎于错误的地方.当我被引入优化webforms应用程序的时候,有9个中有9个应用程序作者误解了viewstate的目的.我并不是说视图状态是完美的或任何东西,但它很容易滥用它,正是这种滥用导致了臃肿的视野状态.

这篇文章无法帮助我理解许多这些滥用行为.https://weblogs.asp.net/infinitiesloop/truly-understanding-viewstate

为了在MVC和WebForms之间进行有效比较,我们需要确保两个应用程序正确使用这些体系结构.



5> Hrvoje Hudo..:

我的测试显示MVC上的req/sec增加了2到7倍,但这取决于你如何构建webforms应用程序.只需"hello world"文本,没有任何服务器端控制,mvc的速度提高约30-50%.



6> tvanfosson..:

对我来说,MVC的真正"性能"改进是增加了应用程序的可测试表面.使用WebForms,很多应用程序很难测试.使用MVC,可测试的代码量基本上增加了一倍.基本上所有不易测试的是生成布局的代码.您的所有业务逻辑和数据访问逻辑(包括填充视图中使用的实际数据的逻辑)现在都可以进行测试.虽然我希望它的性能也更高 - 页面生命周期大大简化,更适合网络编程 - 即使它相同或稍慢,但从质量角度来看也值得转换.



7> Kibbee..:

我认为这里的问题是,无论ASP.Net MVC比旧webforms多快多少,它都不会有所作为,因为大部分时间都在数据库中.大多数情况下,您的Web服务器将占用0-10%的CPU使用率,只需等待您的数据库服务器.除非您的网站上获得了大量的点击,并且您的数据库非常快,否则您可能不会注意到很大的差异.



8> Seb Nilsson..:

我可以找到的早期ASP.NET MVC开发的唯一具体数字是在这个论坛主题:

http://forums.asp.net/p/1231621/2224136.aspx

Rob Connery本人在某种程度上证实了ScottGu声称ASP.NET MVC每秒可以提供8000个请求的声明.

也许Jeff和他的工作人员可以从他们的网站开发中给出某种暗示.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有