我现在做了一个生产数据监视页面,需要Ajax来实时刷新(100ms),现在要处理一次20000点数据量。经测试20000点页面直接假死,无响应,减少到300点正常刷新显示数据。
问题1.要得到20000点数据,页面必须(页面为HTML页面)给Server传20000标识,Server以确认回发哪些数据点。提交20000点标识怎样比较效率
问题2.Server得到20000个标识,返回20000个数据,页面怎么接收比较效率
提交20000确实恐怖,相当于一次严重的拒绝式攻击。呵呵。
解释下20000点是个什么概念?是否与数据库20000次交互?
你可以对20000点数据做一个处理,你的页面不会直接请求20000个数据吧。请求一个。后台处理后,以一个规则生成html,发送到客户端。请求也应该是这样的吧。
这里你说的2000点是2000条数据还是?
其次是这个2000点数据向服务器请求的时候一请求2000次还是只进行1次请求,然后服务器进行分2000种数据处理?
如果是服务器返回2000条数据,然后页面解析显示时假死的话,这种情况就需要优化js生成页面程序。可以参看这个实例http://widgets.ucren.com/ucren-documentation/examples/intensity-tests/2000rows-grid.html 这里他处理的方式并非一上来全部加在出来,他是分部解析显示出来的,也就是在允许的条件下首先显示出一部分数据,然后再逐步把剩余的数据加载完成。<这里的实现有待商榷>
诶 我以前做一个项目 也是用AJAX 实时刷新 返回数据多的话 就卡死了
别人有用 Comet 你可以试试