我正在研究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
答案 0 :(得分:1)
您正在开发一个电子商务网站,因此您可能拥有与您的网站捆绑在一起的庞大管理模块。您应该考虑将管理模块构建为与电子商务网站共享相同Mongo DB集合的单独Meteor应用程序。您可以使用此方法大大减小应用程序的大小。您可以找到更多详细信息here
您还应该非常小心您的订阅并在服务器端出版物上使用分页,仅订阅实际需要的数据
答案 1 :(得分:0)
对于初学者,尝试删除任何前端代码不再使用的未使用的包。检查整个package.json和所有导入。
减少所有订阅的大小,你可能有大量的文件,包括整个或太大的文档,这在开发过程中很容易,但是生产过度。尝试将字段和加载的对象数量限制为您为用户显示的内容。
在显示内容之前,不要等待finsih加载的所有订阅,加载网站及其设计,但只在需要动态显示数据的部分上显示“加载”图标。
确保您的javascript在发布之前缩小,这样可以节省大量带宽。
实施后,您的加载时间应该减少。
从浏览器的调试器提供详细的网络分析也可能有助于解决问题。