采用AJAX提高网站程序的带宽性能
来源:百度文库 编辑:神马文学网 时间:2024/04/26 07:28:52
作者: itzealot 发表日期: 2006-02-17 11:05 文章属性: 原创复制链接
介绍
作为一个做网页性能测试的公司,我们一直关注新的开发技术在提高网页程序性能方面的影响。我们有不少用户遇到仅仅是因为他们网页的大小而影响其性能的问题。简单说——页面太大了不能在有限的带宽条件下达到理想的性能。很多情况下,在不同网页间包含的基本要素是相同的。例如,页头、页尾、导航条都很少变化,在一些程序中甚至根本没有变化。这点启发我们,如果程序只更新页面中需要改变的部分,将可以节省可观的带宽。
目标
为了验证这个理论,我们决定看看是否能让程序节约至少50%的带宽。我们选择了一个相当简单的内部数据分析程序。程序由典型的网页版面构成:中间是变化的内容部分。页头、页尾和导航条部分都没有任何变化。我们编辑了程序以便可以通过传统的页面刷新方式和AJAX方式来访问它。接下来我们用测试工具(网页性能分析器)记录分析了两种不同方式网页的带宽利用情况。
结果
实验的第一个成果是有一点让我们惊讶。谈到AJAX体系结构,我们本以为选择一个合适的AJAX结构应用在我们的程序中会比较费事。在用一些流行的网页架构做了一些简单的实验并考虑到javascript函数的危险性后,我们决定采用选取的一些简单的javascrip函数来达到我们的目标。我们能够从网上种类繁多的 Javascript/AJAX使用指南中得到我们需要的代码段,通过不超过100行javascript代码,我们把程序修改成利用AJAX的方式。不需要任何框架结构。
scenario/mode
first-page size
typical page size
total bandwidth
Page-refresh
44k
10k
210k
AJAX
47k
2.5k
81k
总带宽节约>61%
节约的带宽从何而来
下面是我们从测试工具(网页性能分析器)上抓下的截图,显示了传统和AJAX两个不同版本的页面传输数据大小。从下图可以看到URLs(链接)和大小,AJAX模式程序确实让首页变得更大。在我们的测试中,大约大了3K。这并不奇怪,因为这一页包含了附加的javascript程序来驱动AJAX模式。如果选用AJAX框架结构,估计还会大不少。
不过最值得注意的是典型页面的大小从平均10K左右下降到了平均2.5K左右——下降了75%
图示1:传统网页刷新模式需要的带宽
(点击可放大)
图示2:AJAX模式需要的带宽
(点击可放大)
怎么做到的
为了达到节约带宽,我们对程序做了少量的修改
应用模式开关
首先我们增加了一个应用模式开关。用网页程序描述符中用到了一个关联参数来使程序能询问到是使用AJAX还是网页刷新模式。注意并不是对所有程序都必需的。
HTML表单组件变化
下面我们编辑HTML代码的表单(form)组件来改变表单提交机制。例如,下面是编辑前后下拉菜单(select)组件的开始标签的代码:
介绍
作为一个做网页性能测试的公司,我们一直关注新的开发技术在提高网页程序性能方面的影响。我们有不少用户遇到仅仅是因为他们网页的大小而影响其性能的问题。简单说——页面太大了不能在有限的带宽条件下达到理想的性能。很多情况下,在不同网页间包含的基本要素是相同的。例如,页头、页尾、导航条都很少变化,在一些程序中甚至根本没有变化。这点启发我们,如果程序只更新页面中需要改变的部分,将可以节省可观的带宽。
目标
为了验证这个理论,我们决定看看是否能让程序节约至少50%的带宽。我们选择了一个相当简单的内部数据分析程序。程序由典型的网页版面构成:中间是变化的内容部分。页头、页尾和导航条部分都没有任何变化。我们编辑了程序以便可以通过传统的页面刷新方式和AJAX方式来访问它。接下来我们用测试工具(网页性能分析器)记录分析了两种不同方式网页的带宽利用情况。
结果
实验的第一个成果是有一点让我们惊讶。谈到AJAX体系结构,我们本以为选择一个合适的AJAX结构应用在我们的程序中会比较费事。在用一些流行的网页架构做了一些简单的实验并考虑到javascript函数的危险性后,我们决定采用选取的一些简单的javascrip函数来达到我们的目标。我们能够从网上种类繁多的 Javascript/AJAX使用指南中得到我们需要的代码段,通过不超过100行javascript代码,我们把程序修改成利用AJAX的方式。不需要任何框架结构。
scenario/mode
first-page size
typical page size
total bandwidth
Page-refresh
44k
10k
210k
AJAX
47k
2.5k
81k
总带宽节约>61%
节约的带宽从何而来
下面是我们从测试工具(网页性能分析器)上抓下的截图,显示了传统和AJAX两个不同版本的页面传输数据大小。从下图可以看到URLs(链接)和大小,AJAX模式程序确实让首页变得更大。在我们的测试中,大约大了3K。这并不奇怪,因为这一页包含了附加的javascript程序来驱动AJAX模式。如果选用AJAX框架结构,估计还会大不少。
不过最值得注意的是典型页面的大小从平均10K左右下降到了平均2.5K左右——下降了75%
图示1:传统网页刷新模式需要的带宽
(点击可放大)
图示2:AJAX模式需要的带宽
(点击可放大)
怎么做到的
为了达到节约带宽,我们对程序做了少量的修改
应用模式开关
首先我们增加了一个应用模式开关。用网页程序描述符中用到了一个关联参数来使程序能询问到是使用AJAX还是网页刷新模式。注意并不是对所有程序都必需的。
HTML表单组件变化
下面我们编辑HTML代码的表单(form)组件来改变表单提交机制。例如,下面是编辑前后下拉菜单(select)组件的开始标签的代码:
采用AJAX提高网站程序的带宽性能
用缓冲技术提高jsp程序的性能和稳定性
提高Ajax应用程序性能,避开Web服务漏洞
通过采用Squid的反向代理功能提高客户端对网站的浏览速度
利用 squid 反向代理提高网站性能
利用 squid 反向代理提高网站性能
利用 squid 反向代理提高网站性能
C#性能提高的技巧
C#性能提高的技巧
Hibernate程序性能优化的考虑要点
最优化ASP程序性能的方法
Hibernate程序性能优化的考虑要点
最优化ASP程序性能的方法
通过 Tomcat Advanced I/O 获得高性能的 Ajax
增加带宽、提高上网速度:
增加带宽、提高上网速度:
利用 squid 反向代理提高网站性能 - 中国网管联盟
提高EJB性能的十大技巧
提高eclipse在windows下的性能
提高DB2索引性能的一些技巧
如何提高中空玻璃的技术性能?
采用标记跑提高跳远助跑的准确性
开拓AJAX程序开发捷径
带宽的含义