首页 / 知识
关于ajax:加快ASP.Net网站或应用程序的速度
2023-04-12 05:41:00

Speeding up an ASP.Net Web Site or Application我有一个启用Ajax.Net的ASP.Net 2.0网站。 网站和数据库的托管以及数据库的架构都无法控制。 在对硬件的测试中,我确实控制了站点的性能,但是在客户端的硬件上,重新加载或更改页面时会有明显的延迟。 我想做的是在交付应用程序时使其尽可能紧凑和快速。 一种想法是为网站的所有静态资源设置失效日期,以使它们不会在页面加载时被调用。 我所说的资源是指图像,链接的样式表和JavaScript源文件。 是否有捷径可寻? 还有什么其他方法可以优化.Net网站?
更新: 我最好的建议是检查YUI内容。他们有一些很棒的文章谈论CSS精灵之类的东西,并有一些不错的javascript库来帮助减少浏览器发出的请求数量。 如果您使用Firefox来测试您的网站,则可能要尝试使用Yahoo!提供的漂亮Firefox扩展。称为YSlow。 它会分析您的网页,并为高性能网站的每种最佳做法提供从A-F(A为最佳,F为最差)的等级。它将帮助您跟踪网站中可以优化以加速的元素。 默认情况下关闭viewstate,即使是最简单的页面也是如此。 几个月前,我写了一篇有关提高ASP.NET页面性能的博客文章。以下是一些快速简便的方法-
一起使用ASP.NET和Ajax(任何Ajax库)时,通常要避免使您的Page_Load和Page_Init(以及与之对应的方法)麻烦,因为它们将在每个Ajax请求上执行。 这么说的话,我会认真放弃ASP.NET AJAX并使用其他任何东西... Anthem.NET,AjaxPRO.NET,jQuery或ASP.NET AJAX以外的任何其他语言... 当然我会自己使用Ra-Ajax,因为那是我的项目。 但话又说回来我有偏见... 您可以开始研究缓存策略。诸如CSS(甚至压缩文件)和图像(甚至优化文件)之类的静态文件只需要在一段时间内由浏览器下载一次即可。 已经提到了针对AJAX的Scirpt合并,但是我没有注意到对ScriptReferenceProfiler MS的引用已在codeplex上发布,以帮助找出要合并的内容。 Mike Ormond在这方面有一个很好的起点。 如果您要对数据库执行大量INSERT操作,则另一个技巧是再次检查服务器的磁盘缓存是否已打开。举例来说,我有一个数据导入程序在运行期间进行了120万次插入。花了4个小时,不进行缓存就进行更改。花费了16分钟。 您是否尝试过这些技巧? http://weblogs.asp.net/haroonwaheed/archive/2008/06/30/ASP.NET-Performance-Tips.aspx 您似乎首先假设问题出在下载大小上,但不一定是这种情况。您应该对ASP.NET站点进行一些试验,以确定代码中是否存在引起不必要的延迟的区域。如果事实证明下载大小不是问题,则需要找到方法来缓存结果(查看输出缓存,这是ASP.NET功能)或优化代码。 无论如何,在查看性能问题时,第一步始终是首先确认您的假设,然后决定采取的措施。 我认为您真的需要能够在生产中运行时从应用程序中获取一些实际的PerfMon数据/遥测,以便能够就最佳化方案做出明智的决定。 作为一个提示,我将确保您的应用程序被部署为Release版本,并在web.config的" compilation"部分中设置debug =" false"。 您还可以查看ASP.NET输出缓存,该缓存可以相当精细地应用于页面的不同部分: http://msdn.microsoft.com/zh-CN/library/xsbfdd8c(VS.71).aspx 除非更改,否则不应重新发送静态资源。 IIS将发送一个响应代码,告诉浏览器使用缓存的版本。 您可以根据客户的支持来启用压缩。看到这篇文章:链接文本 |
最新内容
相关内容
python如何连接mysql数据库
python如何连接mysql数据库,培训,数据,项目,一致,流程,数据库,参数,结果,接口,语句,python数据库接口支持非常多的数据库,你可以选择适合你项python定时修改数据库
python定时修改数据库,时间,服务,培训,单位,代码,标准,线程,操作,时间差,进程,1.传入执行改库操作的时间update_time,用update_time和当前时间python如何开发网站
python如何开发网站,网站,技术,培训,数字,数据,商业,价值,网络,人工智能,代码,Python是一门简单易学的编程语言,代码简洁优美,最近,随着人工智能python如何操作mysql数据库
python如何操作mysql数据库,培训,标准,项目,密码,数据库,接口,表字,操作,用户,机子,Python标准数据库接口为PythonDB-API,PythonDB-API为开发多种形式的Delphi应用程序和对话框
多种形式的Delphi应用程序和对话框,多种形式的Delphi应用程序和对话框,视图,所见即所得,应用程序,文档,Multiple form Delphi applic推荐的用于标记或标记的SQL数据库
推荐的用于标记或标记的SQL数据库设计,推荐的用于标记或标记的SQL数据库设计,映射,方法,缩放,说过,Recommended SQL database design关于单元测试:将TDD与Web应用程序开
关于单元测试:将TDD与Web应用程序开发集成的最佳实践?,关于单元测试:将TDD与Web应用程序开发集成的最佳实践?,单元测试,歧义,应用程序,关于apache:如何创建自签名SSL证书
关于apache:如何创建自签名SSL证书以在测试Web应用程序时使用,关于apache:如何创建自签名SSL证书以在测试Web应用程序时使用,服务器,您使用什么工具在Linux上开发C ++
您使用什么工具在Linux上开发C ++应用程序?,您使用什么工具在Linux上开发C ++应用程序?,插件,应用程序,工具,我在,What tools do you u关于c#:UrlEncode通过控制台应用程序
关于c#:UrlEncode通过控制台应用程序?,关于c#:UrlEncode通过控制台应用程序?,控制台,这是一个,我只会,cc,UrlEncode through a console app关于java:应用程序配置文件
关于java:应用程序配置文件,关于java:应用程序配置文件,配置文件,应用程序,方法,努力,Application configuration files好的,所以我不想关于sql:关系数据库设计的好资源
关于sql:关系数据库设计的好资源,关于sql:关系数据库设计的好资源,站点,教程,最佳实践,调整,Good Resources for Relational Database