首页 > 解决方案 > 对 Google Cloud NodeJs API 的首次请求比后续请求花费更多时间

问题描述

我有一个基于 nodejs 的应用程序作为 Google App Engine 应用程序运行。它使用 node-postgres 模块访问数据库。我注意到以下几点:

我担心这个问题,因为日志显示我几乎 20% 的请求需要大约 2 秒。当我查看一些请求请求的日志时,它们似乎正在实例化一个导致更长等待时间的新进程。

我可以做些什么来进一步调查并解决这个问题?

标签: node.jsgoogle-cloud-platformnode-postgres

解决方案


您的第一个请求比其他请求花费更多时间,因为 App Engine 标准有一个新实例的启动时间。这个时间真的很短,但是有。您需要添加时间来建立与数据库的连接。这就是您对第一个请求的响应时间更长的原因。

要更好地了解应用引擎启动时间,您可以阅读App Engine 启动时间文档的最佳做法(有点旧,但我认为非常清楚)。要为您的应用引擎应用程序执行分析,您可以阅读此Medium 公共博客

在此之后,您可以设置 Stackriver 仪表板来了解您 20% 的慢速请求是否是由于新应用引擎实例的启动造成的。


推荐阅读