起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4136|回复: 14

[结贴] bizData组件data-type=json、xml速度问题

[复制链接]

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
发表于 2014-2-14 14:32:32 | 显示全部楼层 |阅读模式
版本: X5.2.4 小版本号:
数据库: MS SQLServer 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
本帖最后由 XiaoQLuo 于 2014-2-14 15:50 编辑

1W条数据,
bizData组件data-type=json,grid组件smart-render=50,需要50秒,看下图
50s.jpg
bizData组件data-type=xml,grid组件smart-render=50,需要5秒,看下图
5.jpg
问:为啥用json反而速度慢?
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2014-2-14 15:55:19 | 显示全部楼层
谢谢你的反馈,我们会测试关注这个问题,

你这是多次测试的结果吗?

理论上服务端json序列化不应该比xml慢
回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
 楼主| 发表于 2014-2-14 16:14:55 | 显示全部楼层
1、是多次测试结果;
2、好像tomcat没有对json进行gzip压缩;
3、标准json输出非英数内容,比如中文用的是\uXXXX, 占6字节左右,而xml输出utf8中文只需要3字节, 所以一些内容比较大,结构简单的输出上, json有时候会比xml大很多, 还有就是ie6了,一般ie6下json不敢gzip,可能会出错, 而xml还有进一步压缩空间。
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2014-2-14 16:58:07 | 显示全部楼层
做了一个案例测试数据2700条,json返回没有出现你说的现象;
20140214165822.png
回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
 楼主| 发表于 2014-2-14 17:09:21 | 显示全部楼层
是x5.2.4版本?
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
 楼主| 发表于 2014-2-14 17:10:38 | 显示全部楼层
你测试结果,设置为json、xml需要的时间分别是多少
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2014-2-14 17:21:07 | 显示全部楼层
本帖最后由 XiaoQLuo 于 2014-2-14 17:25 编辑
ecoolper 发表于 2014-2-14 16:14
1、是多次测试结果;
2、好像tomcat没有对json进行gzip压缩;
3、标准json输出非英数内容,比如中文用的是\ ...

测试json返回是确实没有进行gzip压缩

你可以手工修改tomcat 配置文件增加json的压缩;

apache-tomcat\conf\server.xml

    <Connector port="8080" URIEncoding="utf-8" maxHttpHeaderSize="8192" compression="on" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="200" connectionTimeout="30000" disableUploadTimeout="true" compressableMimeType="text/html,text/xml,text/css,text/javascript,application/x-javascript,application/javascript,application/xml,application/json"/>  

增加红色部分

回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
 楼主| 发表于 2014-2-15 13:08:14 | 显示全部楼层
XiaoQLuo 发表于 2014-2-14 17:21
测试json返回是确实没有进行gzip压缩

你可以手工修改tomcat 配置文件增加json的压缩;

1、mimeType已添加application/json,速度比之前好,10秒,还是没有xml快;
2、1W数据转换为json有25M大小,转换为xml只有9M大小;
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
 楼主| 发表于 2014-2-18 15:13:20 | 显示全部楼层
ecoolper 发表于 2014-2-15 13:08
1、mimeType已添加application/json,速度比之前好,10秒,还是没有xml快;
2、1W数据转换为json有25M大 ...

顶一下,给个解释
在x5平台中,什么情况下用json,什么情况下用xml
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2014-2-18 15:42:31 | 显示全部楼层
经过测试,
发现dom和json在服务端序列化成string性能有差异;
目前平台使用的是org.json;

dom4j和org.json测试序列化1.6M的数据,org.json比dom4j慢250ms

同时测试了阿里的fastjson比org.json提升150ms但是相对dom4j还是有100ms的差距

也就是说目前服务端数据序列化过程xml更具优势
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 05:28 , Processed in 0.090378 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表