加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 网络中的反思和表现

发布时间:2020-12-16 07:18:51 所属栏目:asp.Net 来源:网络整理
导读:我们知道Reflection是一个相当昂贵的引擎.但是,ASP.NET MVC充满了它.有很多方法可以使用和实现其他基于反射的实践,如ORM,DTO实体之间的不同映射 – 视图模型,DI框架,JSON解析和许多其他实现. 所以我想知道它们是否都会影响性能,强烈建议尽可能避免使用反射并
我们知道Reflection是一个相当昂贵的引擎.但是,ASP.NET MVC充满了它.有很多方法可以使用和实现其他基于反射的实践,如ORM,DTO实体之间的不同映射 – 视图模型,DI框架,JSON解析和许多其他实现.
所以我想知道它们是否都会影响性能,强烈建议尽可能避免使用反射并找到脚手架等其他解决方案?什么是执行服务器负载测试的工具?

解决方法

对于压力测试,这个SO帖子提供了很多可能性: Stress Testing ASP.Net application.

我自己也想过这个问题,得出以下结论:

>大多数人不会一天又一天地重新提交页面.当访问实际网站所花费的时间与用户进行上下文时,用户花费阅读和消费最多包含几个Ajax调用的页面的时间是最小的.即使您的应用程序拥有一百万个用户,您通常也无需在任何给定时间处理一百万个请求.
> Web自然地基于字符串比较…… HTTP响应中没有类型,因此任何Web应用程序都被迫将这些任务作为日常生活中的事实来处理.字符串比较和动态对象越少越好,但它们的核心是不可避免的.
>虽然通过字符串比较或动态类型检查进行映射的速度很慢,但使用非编译的弱类型语言(如PHP)构建的站点将包含更多这些操作.尽管与C#控制台应用程序相比,MVC中可能存在大量性能命中,但它仍然是Web域中许多其他应用程序的卓越解决方案.
>使用任何框架都会产生与之相关的性能成本.使用.NET框架在C#中构建的应用程序的所有意图和目的都不如用C编写的应用程序那样好.但是,其优点是可靠性更高,编码时间更短,测试更容易.鉴于计算机的速度在过去十年或二十年内如何爆炸,我们已经接受了几毫秒的额外毫秒来换取这些好处(这是巨大的).

鉴于这些要点,在开发ASP.NET MVC应用程序时,我不会避免诸如瘟疫之类的反射之类的事情,因为很明显它们可以对应用程序的运行方式产生相当积极的影响.它们是工具,如果使用得当,对许多应用程序都有很大的好处.

至于性能,我喜欢建立我能做到的最佳解决方案,然后返回并对其进行压力测试.也许我在X类中实现的反射毕竟不是性能问题?简而言之,我的第一个任务是构建一个伟大的架构,而我的第二个任务是优化它以从中挤出最后一滴性能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读