您的位置:首页 > 编程语言 > ASP

利用压缩提高DevExpress ASP.NET 性能

2010-12-06 10:13 190 查看
从DXperience 9.2开始,为了实现HTML压缩特别是提高网站的性能,DX提供了web.config的相关设置. 首先,我们看一组数据:

速度对比
使用自定义的HttpHandler,对于9.2版本的性能影响是非常明显的,从下表中可以看出9.1跟9.2的对比数据:

以下测试工具是采用Fiddle2得出的结果:

2009.1 2009.2

接收字节数: 1,906,225 792,501
耗时: 00:00:21.7013394 00:00:05.0325032
text/ Java Script: 761,949 134,195
text/html: 924,800 40,667

页面加载速度从 21.7 到 5 秒 ! 在512K的网速下,速度快了4.3倍.

HTML 输出小了 5 到 7 倍! 页面大小从 324K 到 41K - 大概少了7倍.

设置
要得到比较好的HTML压缩率和资源文件压缩,可以在web.config里设置下面四个设置(第四项在9.2.4中会导致报表导出BUG,第三项在9.2.4中可能会导致部分BUG):

<appSettings>
<add key="DXEnableCallbackCompression" value="true"/>
<add key="DXEnableResourceCompression" value="true"/>
<add key="DXEnableResourceMerging" value="true"/>
<add key="DXEnableHtmlCompression" value="true"/>
</appSettings>

DXEnableCallbackCompression – 压缩 AJAX 回调(默认为true)
DXEnableResourceCompression – 压缩脚本和CSS 文件(默认为true)
DXEnableResourceMerging – 把所有脚本合并成单个文件 (从不同的程序集) 和所有CSS文件合并成单个文件以降低服务器请求. (默认为false)
DXEnableHtmlCompression – 压缩包括AJAX回调在内的HTML 输出到客户端浏览器 (默认为false)
要压缩单独的页面,可以使用 DevExpress.Web.ASPxClasses.ASPxWebControl.MakeResponseCompressed() 方法.
HTML 压缩有一个缺点- 客户端浏览器将只显示压缩后的网页. 考虑到压缩文件的压缩率. 压缩文件将在看到内容之前被解压缩.

这就带来一个有意思的问题, 如何考量传输速度和解压缩性能之间的选择?

带宽 vs 处理器
压缩有一个要权衡的东西. 压缩需要在服务器和客户端使用更多的CPU负载. 毕竟,压缩编码是使用较少的比特信息的过程。另一方面,

, 压缩也有较大的优势,如更快的网站访问素的和消耗更少的带宽。所以,您是怎么选择呢?

很简单,选择节省带宽和提高网站速度. 带宽相对来说是要贵一点的,而处理器的成本相对便宜一点。事实上,现在的处理器速度已经很快了,足以轻松地处理HTML压缩需求。

除了ISP的带宽成本,对一个网站来说速度也是重要的。像谷歌,雅虎和微软这些大型的网站就能理解这一点,如果您的网站花很长时间来加载,那么访客很有可能会选择离开。因此,你应该为用户在网络上的体验考虑网站的速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: