网络导致的性能问题
本文关键字:性能 问题 网络 | 更新日期: 2023-09-27 18:08:43
我目前正在做一个。net(3.5)页面,这个页面有一个很大的数据集,对于坐在两个不同位置(相隔12小时)的用户来说,性能是一个主要问题。
的目标,要求:
- 我有大约2500条记录x 30列的结果集。
- 显示为具有客户端排序和大量单元格格式的表格视图。
- 在相隔12小时的两个不同位置加载时间相当快(一个位于web浏览器旁边,另一个位于web服务器的半个地球)。
我尝试了两种不同的方法,但不能让两个用户都满意。以下是我到目前为止所做的尝试:
- 客户端网格
- 优点:
- 通过线路发送的较小数据包;web服务器正在发送<1mb,通过网络速度更快
- 缺点:
- Javascript/JQuery过程生成网格需要10 - 15秒(不同)。
总结:客户端网格是有利于用户坐在一个距离远离web服务器。然而,对于坐在服务器旁边的用户来说就不是这样了。现在,坐在服务器旁边的用户将不得不坐下来等待JQuery/Javascript构建表。
- 服务器端网格
- 优点:
- 更快的渲染,因为大多数如果不是全部标记是在web服务器(服务器端)上完成的。
- 缺点:
- 通过线路发送的大数据包;web服务器发送3.5 - 5mb,通过网络要慢得多。(检索3.7 MB的页面大约需要30秒以上)
总结:服务器端网格对于坐在下一个 web服务器上的用户是有益的(因为它几乎是瞬间加载的——3 MB只需1秒)。同样,对于坐在地球另一边的用户来说,遭受网络传输- 30秒+ 3。MB页。
经过谷歌搜索和实验;我还在为如何让这两个用户都满意而挠头。
*注意:我已经决定不包括任何源代码,因为它不会以任何方式帮助你。
我知道没有放之四海而皆准的解决方案,但我正在寻找一种至少能满足这两种用户的中间地带的解决方案。
一般来说,至少,我想给用户的印象是,页面是"加载"(快速)-开始渲染之前,所有的数据到达;尽管它可能仍在加载数据。也就是无限滚动。
我正在寻找一个创造性的想法;因此,如果您的建议包括将服务器移动到地球的另一端;增加你的带宽或任何其他牵强的想法;如果你能保留你的想法,我会很感激的。
谢谢。D
- 你可以在你的网格上使用服务器端分页只加载10个条目每页
- 如果用户需要,可以提供"以pdf格式下载"文件选项查看整个网格
您可以进一步使用客户端网格和服务器端分页来改进访问时间。我认为带有服务器端分页的gridview就可以了。如果您需要一次显示所有记录,那么这是一个单独的问题。
服务器端分页?
你说创意,那么你打开gzip来压缩你要发送的数据了吗?另外,尝试最小化html?
我已经成功地将DHTMLX Grid用于此用途。它具有无限滚动和分页的能力。只请求显示在页面/可见滚动区域的数据(减少在任何给定时间通过网络发送的数据量)。它也非常可定制,并具有许多您可能会发现有用的其他功能。