免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4591 | 回复: 7
打印 上一主题 下一主题

IE上AJAX请求性能问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-16 23:04 |只看该作者 |倒序浏览
测试一个JSP网页的响应时间,页面包括一个主servlet,和最后发出一个ajax请求。测试发现IE和FF上响应时间差别体现在ajax请求的响应时间。具体结果是,FF上这个ajax只需要几十毫秒,而IE7和IE8都是几百毫秒。做一下简单分析有如下发现:
1. 这个ajax请求是有http request header和一个xml data request组成;
2. 用fiddler去分析,server的响应在IE上也是几十毫秒,与FF一样。主要差别在IE提交请求需要花费几百毫秒,这占去了整体时间的绝大部分;
3. 进一步分析网络流量发现,实际http request header送达server后,随后的data request放在一个单独的tcp包,而且这个tcp包与之前http request的数据包有一个上百毫秒的间隔。而FF上http request和data几乎同时送到server。

通过以上简单实验,说明问题出在IE在提交data request上。不知道为什么会有这么长时间延迟。请问版上兄弟有没有碰到这样类似问题,给一点提示。在此谢过.

论坛徽章:
0
2 [报告]
发表于 2010-04-17 12:10 |只看该作者
什么应用需要精细到优化这几十毫秒?你再测一下ie6试试吧

论坛徽章:
0
3 [报告]
发表于 2010-04-18 15:28 |只看该作者
这个应用对页面响应时间有硬性规定,所以需要尽可能降低。

而且现在这个ajax的响应在两种浏览器响应不同,明显是一个问题,所以想找出根源好判断是不是可以解决。如果是浏览器本身差异,通过code又没有办法,就只有认了。

论坛徽章:
0
4 [报告]
发表于 2010-04-20 15:28 |只看该作者
这个顶一下 关注 就我的经验应该不会有这么大的差异,楼主使用了第三方的js框架吗?

论坛徽章:
0
5 [报告]
发表于 2010-04-21 15:54 |只看该作者
本帖最后由 Maxshine 于 2010-04-21 15:56 编辑

开发使用的是dojo javascript。补上一些近期的发现:
1. IE7对ajax请求,是发送两次tcp包。这个在前面提到过。第一个是http header,第二个是xml data。两次tcp发包之间,server一个ACK确认后才发xml data。server的这个ACK相隔0.1s送到client。而client的xml数据包又隔了0.2s才发出去。
2. IE7上发送ajax请求会继续使用浏览器已经建立的tcp链接。
3. IE6上发送ajax请求会重新建立新的tcp链接(就是有一次三次握手),所以IE6上http header和xml之间没有明显延迟。
4. 为了证明这一点,我们在网页上加了按钮来手动发送请求。发现IE7上只要在ajax之前有新的tcp链接建立,就没有延迟
5. FF上xml是和http header的最后一个tcp包一同发出去,没有延迟。

论坛徽章:
0
6 [报告]
发表于 2010-04-27 21:06 |只看该作者
本帖最后由 geel 于 2010-04-27 21:11 编辑

回复 5# Maxshine

如果真是问题发生在tcp上那没有好办法了。在这之前尝试修改一下keep-alive试试呢。其实我觉得跟tcp关系不大,建议转移一下重点,比如DNS缓存和浏览器缓存,毕竟数十倍的差距,即使新建个TCP连接,在网络环境良好的环境也不应该差这么多。

论坛徽章:
0
7 [报告]
发表于 2010-04-27 21:08 |只看该作者
回复 5# Maxshine


    另外你都从抓包级别去分析了,那这个问题发在这个版块就不合适了

论坛徽章:
0
8 [报告]
发表于 2010-04-29 18:16 |只看该作者
回复 7# geel


    之所以这么分析抓包,是因为怀疑浏览器处理的差异。应该也从其他方面考虑。谢谢提醒
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP