使用mongolab,nodejs和express提高AngularJS web应用程序的响应时间

我正在开发一个Angular Web应用程序,它接收来自nodejs / express API的数据。 这个API运行连接到MongoLab(免费帐户)的mongoose。

在接收数据时,小数据集(1.5kb)的响应时间> 500ms,“大”数据集(数百kb)的响应时间> 1s。

这显然已经太多了,我担心当我的db增长的时候会更糟。

目前stream程如下:

  1. 客户端转到mysite.com/discover
  2. 服务器发送Angular App
  3. 客户端向mysite.com/api/collections发送ajax请求
  4. 服务器连接到MongoLab,接收数据
  5. 服务器将数据发送回客户端

这个过程在本地开发(本地节点,本地MongoDB)(<20ms)是非常快的,但在网上花费很多时间。 我调查了花费这么多时间,我发现两个平等的贡献:

  • API响应时间
  • MongoLab响应时间

MongoDB查询不需要时间(<1ms)。

问题

我可以select什么来缩短这个响应时间? 是否可以在本地存储数据并使用mongoLab作为“复制”(在大多数情况下,它将删除MongoDB延迟)? 如果是这样,你会build议磁盘临时存储,mongoDB副本,…?

我试过了

我迁移了我的mongoLab数据库以匹配我的服务器的物理本地化(数字海洋上的虚拟机),它提高了几个50毫秒,没有更多。

非常感谢