ajax的技术应用在性能测试中适用情况初步分析

发表于:2009-03-13来源:作者:点击数: 标签:性能测试应用AjaxAJAXajax
ajax(阿贾克斯)的技术应用在 性能测试 中适用情况初步分析 现在目前大家均在流行ajax的技术,那么在大规模互联网应用是不是适合 这几天做了关于ajax的 性能测试 ,发现在使用应用时,每一次操作均会向 服务器 提交请求,关于这一点,我有一些看法: 下面是

ajax(阿贾克斯)的技术应用在性能测试中适用情况初步分析 

现在目前大家均在流行ajax的技术,那么在大规模互联网应用是不是适合

这几天做了关于ajax的性能测试,发现在使用应用时,每一次操作均会向服务器提交请求,关于这一点,我有一些看法:

    下面是我做的一个简单的测试对比,在网站上发布信息

    测试的应用流程如下(发布offer信息),我用http sniffer跟踪的结果(红色是使用ajax受影响的部分):

 

没有使用ajax的大致服务器流程:

1.打开发布页面

2取所有的省份、类目信息(大小为0.6M)

3用户填写

4提交

 

使用ajax服务器请求流程

1 打开发布页面

2 取部分默认省分,类目信息(大约为0.2M),默认省假设为江苏,默认类目为IT

3 用户填写

4    修改省分为其它时,发生一次服务器提交(大小为0.2M),在中国大约是31/32用户会改变

5   然后用户又修改类目,发生一次提交(大小为0.2M),也是必然发生的动作      

6  最终写完提交

 

    从分析的结果来看,本来一次连接,分成了三次,有可能别人会说,第二次,第三次是不一定发生的,但从了解的情况来看,后面二次是必需的

 

    从最终的结果来看:流量并没有减少,反而在后面用户增加了两次提交等待,同时cpu增加了负担,假设原有pv为8W,结果使用ajax反而增加了24W,对服务器增大了压力,而目前我们的网络流程与服务器处理能力相比,服务器处理能力更紧张,所以出现发布上去之后会变慢,或取不到(当然有另一部分原因,是内存泄漏,测试结果30分钟后会出现内存出错),对比测试的结果也表明ajax会增加服务器请求的处理数量

 

      所以从性能的角度来说,我建议大家在使用ajaxj时选取那种在处理流程中,第二步,第三步,用户是少量的,不确定的场景,不是100%发生的场景

原文转自:http://www.ltesting.net