谷歌应用程序引擎nodejs本地开发

2024-05-13

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

我厌倦了每次为了查看是否存在错误而进行更改时都将应用程序部署到 Google App Engine。


你永远不会得到exactly在您的本地系统和真实的 GAE 基础设施上具有相同的行为。这一次只是因为您运行的基础设施不同:操作系统、硬件和网络性能/功能、实际与 SDK 模拟的 google API 和您的应用程序可能使用的服务的性能/功能、计时等。

几个例子(它们来自标准环境 GAE,这是事实,但本质上是相同的想法):

  • FetchOptions withLimit() 不会减少查询执行时间 (Google App Engine) https://stackoverflow.com/questions/47299070/fetchoptions-withlimit-does-not-reduce-query-execution-time-google-app-engine
  • 数据存储区获取 VS 获取(keys_only=True)然后 get_multi https://stackoverflow.com/questions/47271503/datastore-fetch-vs-fetchkeys-only-true-then-get-multi
  • 为什么 Google Cloud SQL(使用 JDBC)从 Google App Engine 插入记录的时间比从我的个人计算机插入记录的时间长? https://stackoverflow.com/questions/41389295/why-does-google-cloud-sql-using-jdbc-take-longer-to-insert-records-from-google/41390857#41390857
  • Ndb强一致性、频繁写入 https://stackoverflow.com/questions/44896363/ndb-strong-consistency-and-frequent-writes/44907543#44907543

您应该调查这些差异 - 非常欢迎您在这里就每个差异提出问题。

一般来说,您会发现差异分为两类:

  • 明显的性能差异是预期的,但它们可能会发现代码中的实际问题:竞争条件、错误的时序假设等

  • 功能差异 - 查找您想要在 GAE 上而不是本地执行测试的一般区域。

    例如,我(艰难地)了解到,SDK 数据存储模拟器无法模拟真实数据存储中的争用逻辑 - 虽然我的应用程序在本地运行良好,但在 GAE 上,由于争用,它的爬行速度很慢,我不得不重新编写解决这个问题的逻辑的很大一部分。看Google App Engine 中的争用问题 https://stackoverflow.com/questions/32927068/contention-problems-in-google-app-engine

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌应用程序引擎nodejs本地开发 的相关文章

随机推荐