【问题标题】:How to Display fast all product category and sub category in meteor js如何在流星js中快速显示所有产品类别和子类别
【发布时间】:2016-01-12 13:29:05
【问题描述】:

我正在做我的 meteorjs 项目。我想发布和显示来自 mongodb 集合的大约 4000 个类别和子类别。但是加载数据需要太多时间。我想开发类似阿里巴巴全品类页面的功能。因为它会立即加载所有数据。

http://www.alibaba.com/Products?spm=a2700.7224109.1997230041.14.K2vAog

【问题讨论】:

  • 您不应该在每次请求时从数据库中加载太多数据,因为它会产生大量负载。对渲染页面使用缓存:memcached 或 redis 可能会有所帮助。

标签: performance mongodb meteor publish-subscribe meteor-blaze


【解决方案1】:

关于如何使初始页面加载更快的问题的常见答案是使用fast-render 包。这听起来适用于您的用例。

4000 个类别和子类别平均每个 40 字节应该只有 160kB,即中等 jpeg 的大小。数据真的不多。

您是否在检查器中分析了您的应用程序,以查看您的应用程序实际加载的方式以及可能会阻塞的内容?

【讨论】:

  • 不工作。在服务器上加载 4000 条记录大约需要 3 分钟。
  • 那你还有其他问题。每个文件有多大?您正在运行的搜索是否已编入索引? 4000 个文档还不是“大数据”!
  • 是的,我已经在文档中使用索引了。在我的本地机器上只需要 6 秒准备整个页面,但在服务器中它需要超过 1 分钟。所以我认为它的服务器问题,你能建议什么是确切的解决方案。
  • 您需要一些工具来解决这个问题。你看过Kadira吗?
【解决方案2】:
  1. 在服务器上使用压缩算法:“gzip”从服务器分派您的响应,它降低了您的带宽成本,并且由于体积紧凑,客户端可以更快地获得响应。
  2. 让您的 UI 完全加载,然后使用“ajax 完全异步”提升您的用户体验
  3. 不要用 html css 脚本等的色调填充页面。

【讨论】:

  • 如何使用压缩算法压缩 mongoDB 集合:'gzip'。
  • @Dharmik 不是压缩数据库,而是压缩HTTP requests
  • 我不确定 gzip 是否会有所帮助,因为 Meteor 使用 websockets。
猜你喜欢
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多