后台有几M的数据传输到前台,需要好几十秒,求优化

勇敢迈出去 发布于 2017/03/07 14:52
阅读 739
收藏 0

1.问题:后台存的几M的json数据传输到前台页面渲染,需要几十秒,影响客户体验

2.后台用JSONObject 转 string ,是否换jackson 可以改进传输性能

3.取数据速度很快,希望多多提建议

加载中
0
勇敢迈出去
勇敢迈出去

引用来自“开源中国首席公关”的评论

建议以后大家回答问题不要单从技术角度,LZ这种交互需求本身就是巨大的问题,如果是硬需求且无法改变交互策略的话,只能从技术实现思路上去做优化,给几点建议LZ自己参考实现。

1,JSON使用分页处理,不要单独一个JSON

2,预加载,通过你的描述,猜测你的数据可能是一个静态的JSON文件,那么可以考虑在合适的地方提前把数据加载到客户端进行缓存,使用时,调用本地文件(H5技术)

3,数据压缩(作用相对不大)

 

谢谢,是静态数据,单用户第一次加载慢,往后较快。后期考虑在业务上更改加载模式。

0
进入休眠期
进入休眠期
几兆的数据可以分页吗,这俩框架的性能差距应该没那么大
0
进入休眠期
进入休眠期
可以看看主要耗时在哪,是序列化慢还是往前台传输慢,序列化慢可以换json工具试试,但性能应该差不了多少,传输慢只能通过加带宽或者分页解决了
0
勇敢迈出去
勇敢迈出去

往前台传输慢,业务不适合分页处理。

0
自由PHP
自由PHP

看你是什么场景,如果没有必要一次性显示的,可以将JSON分段,传输一段显示一段

如果其中还有图片数据,可以将主要数据传输后,再传输图片数据

最后,你可以试试浏览器gzip压缩

0
火眼金睛容嬷嬷
火眼金睛容嬷嬷

传输的话不是得在web server 上开gzip么?纯文本,开了之后,传输上的时间可以省不少。

0
KSins
KSins

分段吧,一次性传输太慢的话必须要分段传输。

也可以酌情考虑添加一个数据压缩算法,不过数据压缩效果不一定会很好。

0
开源中国首席公关
开源中国首席公关

建议以后大家回答问题不要单从技术角度,LZ这种交互需求本身就是巨大的问题,如果是硬需求且无法改变交互策略的话,只能从技术实现思路上去做优化,给几点建议LZ自己参考实现。

1,JSON使用分页处理,不要单独一个JSON

2,预加载,通过你的描述,猜测你的数据可能是一个静态的JSON文件,那么可以考虑在合适的地方提前把数据加载到客户端进行缓存,使用时,调用本地文件(H5技术)

3,数据压缩(作用相对不大)

 

清心Jerry
清心Jerry
新思路
0
小小宇航员
小小宇航员

开启gzip。JSON本身就冗余

[{name: 'xiaoming', age: 10}, {name: '红薯', age: 18}]

把这一堆的name、age删了,能节约不少。
试试 protobuf

0
Ambitor
Ambitor

大哥,几M  ,首先不说代码写的怎么样,先看看自己服务器的带宽,再看看用户的带宽,按现在上网的平均速度来说  几M 也需要下一会了吧。何况还有渲染~。

返回顶部
顶部