Google应用引擎nodejs本地开发

有没有办法在本地运行我的nodejs应用程序,以便我可以模拟我的应用程序在生产App Engine中运行,而无需部署? 出于某种原因,我的应用在Google App Engine中的performance与我的本地主机相比有所不同。

每当我进行更改时,我都厌倦了将应用程序部署到Google App Engine,以查看是否有错误。

在本地系统和真正的GAE基础架构上,您永远不会得到完全相同的行为。 一次只是因为你运行的基础设施是不同的:操作系统,硬件和networking性能/function,实际和SDK模拟的谷歌API和你的应用程序可能使用的服务的性能/function,时间等。

一些例子(他们是从标准的env GAE,这是真的,但它是基本相同的想法):

  • FetchOptions withLimit()不会减less查询执行时间(Google App Engine)
  • 数据存储获取VS获取(keys_only = True),然后get_multi
  • 为什么Google Cloud SQL(使用JDBC)从Google App Engine中插入logging要比从我的个人计算机上花费更长的时间?
  • Ndb强大的一致性和频繁的写入

你应该调查这些差异 – 欢迎你在这里提问关于他们每个人的问题。

一般来说,你会发现两个类别的差异:

  • 但是他们可能会发现你的代码中的实际问题:竞争条件,错误的时间假设等等

  • function上的差异 – find你想在GAE而不是本地进行testing的一般区域。

    例如,我(困难的方式)了解到,SDK数据存储模拟器不能模拟来自真实数据存储的争用逻辑 – 而在本地,我的应用运行正常,在GAE上,由于争用而爬得很惨,我不得不重写这是解决这个问题的一个很好的部分。 请参阅Google App Engine中的争用问题