Asp.net网站性能优化二分享
随着后端优化空间越来越小,现在越来越多的网站更加注重前端性能的优化,也就是浏览器和http级别的优化。这里有两个最简单有效的ASP.NET网站优化技巧。要了解常见的网站性能优化技巧,首先需要学习一些优化网站性能的理论和基础知识以及经验,这些都是雅虎为我们总结的。详见参考链接的几篇文章,已经有一些好人翻译成中文了。这里提到的一些技术具有很强的可操作性,建议各位网站开发者认真学习和实践。可以说,不了解这里提到的优化技术,是不可能提升网站前端性能的。诊断网站性能为了优化网站的前端性能,我们必须首先查看最影响前端性能的瓶颈。最常用的工具是谷歌的Page Sped和雅虎的YSlow,这两个工具都是在Firefox下使用的,都是基于FireBug的,FireBug是前端开发者必备的插件。这两个工具可以帮助你诊断页面的性能瓶颈,比如打开网站首页消耗了多少网络流量,发出了多少HTTP请求,每个页面组件是否可以缓存,页面加载的每个执行过程需要多少时间,加载时是否有阻塞,页面组件是如何并行加载的,图片是否可以无损压缩,脚本和样式的位置是否合理,是否删除了不必要的空白,是否进行了gzip压缩等等。知道了这些信息,就可以有针对性地优化网站的性能,先优化对性能影响最大的地方。这两个工具也很容易使用。有关详细信息,请参见参考链接中的两篇文章。根据我对网站优化的学习和实践,我总结了一些经验:一般网站的性能消耗都集中在网络下载上,包括页面本身的HTML、图片、脚本、样式等组件的下载,尤其是网速比较慢的时候,下载这些东西的时候整个网页呈现出来的时间占了大部分,下载完这些东西之后,本地的渲染和呈现一般都会很快,除非有复杂的效果或者脚本。但是服务器的执行速度取决于具体服务器的逻辑,优化起来比较复杂。通常,站点本身必须访问后端的其他服务器和数据库。解决这个问题有两点。首先,页面组件是压缩的,网页中使用的图片通常都是压缩格式,所以压缩空间不会太大,也会占用服务器额外的CPU。但是GZIP对于脚本、样式、HTML的压缩率非常大,现在大部分浏览器都支持GZIP压缩。另一方面,将Http Expire头添加到脚本、样式和图片中,并添加这个过期的头,网站只需要在第一次打开时下载这些网页组件,然后再次打开,甚至不发起Http请求,直接在本地加载。当然,脚本和样式服务器将来可能会发生变化,所以我们需要使用URL重写来自动重命名脚本和样式引用,以便在脚本和页面更新后刷新浏览器缓存。幸运的是,要实现这两点,在IIS7中非常简单。先说压缩。在win7中,使用“打开或关闭窗口函数”在IIS性能工具中打开“动态内容压缩”和“静态内容压缩”,如图1所示。
然后,在IIS管理器中,选择要压缩的网站,双击压缩按钮,添加动态压缩和静态压缩。默认情况下,text/*和application/x-javascript的mimetype将被压缩,这通常就足够了,但是IIS7使用application/x-javascript的mimetype进行压缩。默认情况下是js文件。默认情况下,application/x-javascript是动态压缩的。动态压缩和静态压缩的区别在于不会被IIS缓存机制缓存,每次访问时都会读取文件或将请求路由到后面的模块。因此,我们需要更改。js到应用程序/javascript,如图2所示
。
然后动态压缩application/x-javascript,静态压缩application/javascript,配置c:\ windows \ system32 \ inetsrv \ config \ application host . config,如图3
。
压缩页面组件减少了大量网络流量,提高了性能。但是有些脚本和样式一般很少更改,每次访问网页都会消耗大量网络流量重新下载,因此需要配置静态文件的过期时间。IIS7的管理器具有HTTP响应头的功能。一般网站的脚本、样式和图片分别放在脚本、样式和图片的目录中。我们可以直接将这些目录中文件的过期时间设置为100天,可以在IIS7的管理器中直接操作。详情请参考参考链接,我们不再赘述。设置成功后,会在这三个子目录下生成一个web.config文件,cacheControlMode=UseMaxAge,cachecontrolmaxage=100.00:00:00会被优化。第一次打开网页后,再次打开网页会比以前快很多倍,但有一个问题是,如果你的风格或脚本被修改,如果客户端不刷新页面,就不会生效。为了解决这个问题,URL重写被用来给样式和脚本的引用路径添加时间戳。如果脚本改变,时间戳会改变,引用的文件名会改变,浏览器会下载新样式。然而,新的样式实际上是url重写后的前一个名称。比如/scripts/base.20100111502.js实际上就是/scripts/base.js,但是文章说的是iis6.0使用了urlwrite组件,并且在IIS7中有一个免费的重写模块,可以在微软网站上下载安装。它的配置规则与URLRewrite不同。最重要的区别是常规分组匹配不是由$1,$2引用,而是由{R:1}引用,目标URL的配置不需要常规转义字符。它是" ",不必是“\”如果你不注意这个,就等404吧。关于IIS7.5下重写模块的具体用法和注意事项,请参考以下参考链接,我这里的配置如下。复制代码如下: { {重写规则规则名称=' static _ file _ auto _ version ' match URL='(脚本|样式|图像)/(。*?) \.[0-9] \.(CSS | js | gif | png | jpg)'/action type=' rewrite ' URL=' { r :1 }/{ r :2 }。{ r :3 } '//规则/规则/重写。(来源:蛙塘)
版权声明:Asp.net网站性能优化二分享是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















