回答
查找瓶颈,记得优化,可以优化,但ISN,而不是某事物的共同使用的情况下还没用过。如果你不知道Amdahl's law你应该看看它。设定您的目标,以更快的速度运行1000次,循环检查循环和/或获取更多数据。缓存也可以极大地提高性能。一个好的book关于这个被称为“创建更快的网站”和“更快的网站”,它告诉你很多如何优化网络。
以下是一些提示您的ASP.Net应用程序性能的提示。
视图状态
视图状态是奇迹的机制,显示贴在服务器上的条目的详细信息。每次ifrom服务器都会加载它。该选项看起来像是最终用户的额外功能。这需要从服务器加载,并向页面添加更多大小,但当页面中有许多控件(如用户注册)时,会影响性能。所以,如果没有必要,那么它可以被禁用。
需要根据需求给出EnableViewState =“false”。它可以在控件,页面和配置级别设置中给出。
避免会话和应用程序变量
Session对象存储机制,有助于开发人员能够利用整个页面的值。它将根据所选的会话状态进行存储。默认情况下它将被存储在Inproc中。该默认设置使用IIS。当这个Session变量用在被许多数字访问的页面中时,它将占用更多的内存分配并给IIS带来额外的开销。它会使表演变慢。
在大多数情况下都可以避免。如果您想跨页面发送信息,那么我们可以使用交叉回传,带有加密的查询字符串。如果你想在页面中存储信息,那么缓存对象是最好的方法。
使用缓存
ASP.Net具有缓存机制的非常显着的特征。它提供更多性能并避免客户端/服务器进程。 ASP.Net中有三种类型的缓存。
如果整个页面中有任何静态内容,那么它应该与输出缓存一起使用。它所做的是将内容存储在IIS上。当请求页面时,它将立即从IIS中加载一段时间。同样可以使用片段分页来存储网页的一部分。
有效利用CSS和脚本文件
如果您有用于整个网站中多个页面,然后根据需求大CSS文件,它可以被分割并存储不同的名称。它将最小化页面的加载时间。
图片大小
过度使用网站中的图片会影响网页的效果。加载图像需要时间,特别是在拨号连接时。除了使用背景图片之外,还可以在CSS颜色上完成,或者在所有页面中重复使用重量轻的图片。
基于CSS布局
整个网页设计是通过使用div标签,而不是表布局的CSS控制。它显着提高了页面加载性能。这将有助于在整个网站实施相同的标准指南。它将轻松减少未来的变化。当我们使用嵌套表格布局时,渲染需要更多时间。
避免往返
我们可以避免不必要的数据库访问加载在数据库中的内容不变。我们应该使用IsPostBack方法来避免往返数据库。使用JavaScript
手册验证
验证可以在客户端浏览器,而不是在服务器端做来完成。 JavaScript帮助我们在客户端进行验证。这将减少服务器的额外开销。
插件软件有助于禁用客户端浏览器中的编码。所以,敏感的应用程序应该在进入过程之前进行服务器端验证。
清除垃圾收集
通常.Net应用程序使用垃圾收集从内存中清除未使用的资源。但是从内存中清除未使用的对象需要时间。
有很多方法可以清理未使用的资源。但并非所有的方法都是推荐的。但是我们可以在finally块中使用dispose方法来清理资源。此外,我们需要关闭连接。它会立即释放资源并在内存中提供空间。在客户端
避免散装数据存储
尽量避免在客户端更多的数据。它会影响网页加载。当我们在隐藏的控件上存储更多数据时,它将被加密并存储在客户端。它也可能被黑客篡改。
实现动态寻呼
当我们大量的记录加载到像GridView控件,DataList控件和ListView服务器数据控件需要时间来加载。所以我们只能通过动态分页显示当前页面数据。
使用存储过程
尝试使用存储过程。他们会提高网页的性能。因为它作为编译对象存储在数据库中,并且它使用查询执行计划。如果您通过查询,那么它将进行网络查询。在存储过程中,一行将被传递给后端。
使用XML和XSLT
XML和XSLT将加快页面的表现。如果这个过程并不复杂,那么它可以在XSLT中实现。
使用数据集
与DataReader相比,DataSet不是轻量级的。但它具有断开架构的优点。一个DataSet将消耗大量的内存。即使它可以有一天以上。如果你想在加载页面时执行很多操作,那么使用DataSet可能会更好。一旦数据加载到DataSet中,它也可以在以后使用。
使用字符串构建到位串
的当我们追加像在服务器端,然后我们可以使用StringBuilder邮件格式的字符串。如果使用字符串进行连接,则它每次执行的操作是创建用于存储该字符串的新存储位置。它在内存中占用更多空间。但是如果我们在C#中使用StringBuilder类,那么它会消耗比String更多的内存空间。
使用Server.Transfer的
如果你想在当前服务器中传输的页面,然后我们就可以使用Server.Transfer方法。它避免了浏览器和服务器之间的往返。但它不会更新浏览器历史记录。
使用线程
线程是程序设计的一个重要机制,有效地利用系统资源。当我们想要做一个后台进程时,它可以被称为后台进程。
考虑点击发送时的示例,它应该将邮件发送给5万个成员,但不需要等待所有进程完成。只需将邮件发送进程作为后台线程调用,然后继续进行进一步处理,因为邮件的发送不依赖于任何其他进程。
- >您也可以在Visual Studio中使用“ReSharper”以进行更好的调整。 (https://www.jetbrains.com/resharper/)
其中一些实际上是与WebForms相关的,这是MVC(视图状态,动态分页等) – mattytommo
- 1. 如何提高ASP.NET MVC应用程序的性能?
- 2. 提高Web应用程序的性能
- 3. 提高ASP.NET应用程序的性能
- 4. 如何提高我的Web应用程序的性能?
- 5. 如何提高Web应用程序的图像加载性能?
- 6. 如何提高Web应用程序的性能?
- 7. 如何提高asp.net应用程序的性能?
- 8. 如何提高ASP.net应用程序的性能
- 9. 如何提高ASP.NET MVC WEB API的性能?
- 10. ASP.NET web应用程序的低性能
- 11. 提高Windows应用程序的性能
- 12. ASP.NET MVC Web应用程序VS ASP.NET Web应用程序
- 13. Asp.net MVC实时应用程序性能
- 14. Asp.Net应用程序性能
- 15. 线程 - 如何提高应用程序的性能
- 16. 提高图像应用程序性能
- 17. 提高android应用程序性能
- 18. 提高应用程序性能
- 19. 如何在使用Singleton的java web应用程序中提高性能
- 20. 如何提高Sencha Touch 2.x应用程序的性能
- 21. asp.net mvc 2 web应用程序里面的Web应用程序?
- 22. FastCGI将如何提高我的PHP应用程序的性能?
- 23. 如何提高我的Ionic3 Anguar4应用程序的性能?
- 24. 如何分析ASP.NET MVC应用程序中的请求性能?
- 25. 提高ASP.NET MVC启动性能
- 26. ASP.NET MVC Web应用程序与Web应用程序
- 27. 如何提高应用程序的性能
- 28. 代表如何提高应用程序的性能?
- 29. 如何提高我的iOS应用程序性能
- 30. 如何提高单页面应用程序的性能?
首先,您需要确定您站点中潜在的性能瓶颈,为此,您需要执行一些性能测试。有很多工具可以做到这一点。一旦你确定了这些问题,那么你可以修复它们。 – mattytommo
你能否给我推荐任何**性能测试工具**。 我使用Google (https://developers.google.com/speed/pagespeed/insights/)工具, 这对于性能测试有好处吗? –
嗯,这里有ANTs Profiler,我认为这对分析.NET应用程序来说太棒了。使用30天的试用,看看它是否给你任何东西。从SQL的角度来看,只需使用SQL事件探查器来捕获主要进程的跟踪,然后就可以通过调整顾问来运行它,以查看它的建议。然后你可以使用类似WebLoadUI或类似的东西来自动化一些负载测试,它会告诉你什么是首先在负载下崩溃。 – mattytommo