我正在为工作建立一个网站,其中一个更重要的功能是显示数据的丰富内容网格。默认情况下,每页仅显示20个项目,但我们的数据库中有大约200个可以进行过滤、排序和搜索的项目。
我们的销售和市场团队还要求具有“全部列出”的功能,以便他们可以在一个地方显示所有数据并滚动而不是翻页查看数据。
整个系统是在服务器端使用ASP.Net MVC构建的,在客户端使用jQuery和Flexigrid,并使用JSON通过AJAX交换数据。
我已经相当确定了实际的数据传输部分。20个结果的页面需要800毫秒才能完成整个请求(通过Flexigrid向服务器POST请求并获取响应)。更多的是客户端处理需要一段时间。
我可以将一些客户端处理转移到服务器上。但这会使服务器端操作花费更长的时间,并使返回的文档大小变得更大。在高速互联网连接的情况下不会有问题...但这并不一定是这种情况。
我拥有的另一个选择是尽可能多地下载数据并将大部分数据处理转移到客户端。这将把请求时间削减到基本上为零(仅获取更改的元素而不是整个数据集)。它将在CPU快速且具有大量RAM的计算机上运行得非常好,但这也不一定是这种情况。
既然至少有一个人将其标记为“不是一个真正的问题”,让我澄清一下...
- 我可以采取什么措施来缓解客户端处理时间问题,而不会将太多处理转移到服务器,以至于最终出现数据传输时间问题? - 在平衡客户端处理和服务器端处理时,有哪些最佳实践? - 是更倾向于服务器还是客户端更好? - 有哪些工具可以用来更好地优化这些交换,以使事情不再出错?
我们的销售和市场团队还要求具有“全部列出”的功能,以便他们可以在一个地方显示所有数据并滚动而不是翻页查看数据。
整个系统是在服务器端使用ASP.Net MVC构建的,在客户端使用jQuery和Flexigrid,并使用JSON通过AJAX交换数据。
我已经相当确定了实际的数据传输部分。20个结果的页面需要800毫秒才能完成整个请求(通过Flexigrid向服务器POST请求并获取响应)。更多的是客户端处理需要一段时间。
我可以将一些客户端处理转移到服务器上。但这会使服务器端操作花费更长的时间,并使返回的文档大小变得更大。在高速互联网连接的情况下不会有问题...但这并不一定是这种情况。
我拥有的另一个选择是尽可能多地下载数据并将大部分数据处理转移到客户端。这将把请求时间削减到基本上为零(仅获取更改的元素而不是整个数据集)。它将在CPU快速且具有大量RAM的计算机上运行得非常好,但这也不一定是这种情况。
既然至少有一个人将其标记为“不是一个真正的问题”,让我澄清一下...
- 我可以采取什么措施来缓解客户端处理时间问题,而不会将太多处理转移到服务器,以至于最终出现数据传输时间问题? - 在平衡客户端处理和服务器端处理时,有哪些最佳实践? - 是更倾向于服务器还是客户端更好? - 有哪些工具可以用来更好地优化这些交换,以使事情不再出错?
document.createElement()
操作以格式化表格以供显示。它将对象转换为HTML表格是如此密集的过程。 - EAMann