大型流星应用程序需要花费太多时间进行初始加载

时间:2017-05-11 10:41:53

标签: meteor bundle

我正在研究Meteor app(电子商务网站),变得非常庞大。查看主页的静态部分几乎需要9秒才能显示白色/空白屏幕。之后,它开始显示来自DB(mongoDB)的数据。整个站点的数据需要大约24秒来到客户端。我认为整个捆绑包太大了,这就是下载需要更多时间的原因。它导致了9秒的白屏。任何解决方案的人提前谢谢!

Alraedy Tried:
1. Fast Render(Flowrouter subscriptions) package
2. Appcache package
3. Query Optimization/Indexing
4. Removed global subscriptions
5. Sending minimal data via pub/sub
6. this.unblock() for publications
7. Not saving files in DB instead saving url's

2 个答案:

答案 0 :(得分:1)

您正在开发一个电子商务网站,因此您可能拥有与您的网站捆绑在一起的庞大管理模块。您应该考虑将管理模块构建为与电子商务网站共享相同Mongo DB集合的单独Meteor应用程序。您可以使用此方法大大减小应用程序的大小。您可以找到更多详细信息here

您还应该非常小心您的订阅并在服务器端出版物上使用分页,仅订阅实际需要的数据

答案 1 :(得分:0)

对于初学者,尝试删除任何前端代码不再使用的未使用的包。检查整个package.json和所有导入。

减少所有订阅的大小,你可能有大量的文件,包括整个或太大的文档,这在开发过程中很容易,但是生产过度。尝试将字段和加载的对象数量限制为您为用户显示的内容。

在显示内容之前,不要等待finsih加载的所有订阅,加载网站及其设计,但只在需要动态显示数据的部分上显示“加载”图标。

确保您的javascript在发布之前缩小,这样可以节省大量带宽。

实施后,您的加载时间应该减少。

从浏览器的调试器提供详细的网络分析也可能有助于解决问题。