Google cloud datastore 使用带有GCP云功能的GCP数据存储时,查询时间较慢

Google cloud datastore 使用带有GCP云功能的GCP数据存储时,查询时间较慢,google-cloud-datastore,google-cloud-platform,google-cloud-functions,Google Cloud Datastore,Google Cloud Platform,Google Cloud Functions,我部署了一个GCP HTTP触发的云函数,该函数通过键从GCP数据存储中查询实体。代码如下: const datastore = require('@google-cloud/datastore'); exports.helloWorld = function helloWorld(req, res) { const client = datastore(); const key = client.key(['Person', 'harry']); client.get(key,

我部署了一个GCP HTTP触发的云函数,该函数通过键从GCP数据存储中查询实体。代码如下:

const datastore = require('@google-cloud/datastore');

exports.helloWorld = function helloWorld(req, res) {
  const client = datastore();
  const key = client.key(['Person', 'harry']);

  client.get(key, function(err, entity) {
    res.status(200).send(JSON.stringify(entity));
  });
};
根据日志,调用此函数需要约1.6秒才能完成。重复调用不会更快

删除查询并响应HTTP请求需要约0.5秒才能完成,因此查询似乎需要约1.1秒才能完成。对我来说,这是非常缓慢的,而且这似乎不太可能是GCP数据存储的预期性能

我认为DB和函数可能在不同的区域运行,但我无法检查,文档中给出的说明不正确()。该区域不显示在我的页面上

我在这里的设置可能有什么问题?我希望简单查询的时间为50毫秒,而不是1100毫秒。

有疑问的是,你可以找到附带的谷歌堆栈跟踪屏幕截图,可以看到数据存储和GCP的最佳时间约为100毫秒

老实说,我们使用数据存储在GCF上工作了3个多月,这段时间通常超过100毫秒,每次通话大约200-400毫秒。我与GCP支持人员进行了交谈,我可以确认,目前他们在这方面存在问题,仅在GCF和数据存储之间的请求路由和优化方面存在问题。我通过Yandex Tank收集了几个性能测试数据集,平均请求延迟约为800毫秒到7秒(大约4-5个数据存储串行请求)

经过3个月的开发,我们转向了App Engine,发现数据存储在这种环境中运行得更快,每个数据存储请求的平均时间约为20-30毫秒(快4-5倍)

我还注意到,数据存储查找时间几乎不取决于它运行的数据量。无论是1条记录还是1000条记录,时间几乎都是20-30毫秒。我相信,如果我们能够在没有任何额外网络通信的情况下查看Datstore本身,这一次会更好

现在我们正在添加redis作为缓存服务,以加速所有请求。我想它可能也适用于GCF和数据存储,但我不认为这是一个有保证的解决方案。 因此,考虑使用GCF作为实用处理单元,而不是主处理端点。< /P> < P> >,您可以找到谷歌堆栈跟踪的附加屏幕截图,并看到数据存储和GCP的最佳时间约为100毫秒

。 老实说,我们使用数据存储在GCF上工作了3个多月,这段时间通常超过100毫秒,每次通话大约200-400毫秒。我与GCP支持人员进行了交谈,我可以确认,目前他们在这方面存在问题,仅在GCF和数据存储之间的请求路由和优化方面存在问题。我通过Yandex Tank收集了几个性能测试数据集,平均请求延迟约为800毫秒到7秒(大约4-5个数据存储串行请求)

经过3个月的开发,我们转向了App Engine,发现数据存储在这种环境中运行得更快,每个数据存储请求的平均时间约为20-30毫秒(快4-5倍)

我还注意到,数据存储查找时间几乎不取决于它运行的数据量。无论是1条记录还是1000条记录,时间几乎都是20-30毫秒。我相信,如果我们能够在没有任何额外网络通信的情况下查看Datstore本身,这一次会更好

现在我们正在添加redis作为缓存服务,以加速所有请求。我想它可能也适用于GCF和数据存储,但我不认为这是一个有保证的解决方案。
因此,考虑使用GCF作为实用处理单元,而不是主处理端点。

我不确定您的安装在这里的问题,但我可以确认您应该能够在您的谷歌应用程序引擎仪表板的右上角看到“You-Pro项目ID.AppStuto.com”上的位置信息,请您再检查一次好吗?我不确定您的设置是否有问题,但我可以确认您应该能够在“your-project-id.appspot.com”下的Google App Engine仪表板右上角看到位置信息,请您再检查一次好吗?非常有帮助。非常感谢。我选择使用AWS来完成这项任务,因为Lambda和Dynamo DB没有这个问题。截至2019年7月底,我在云函数中得到一个简单的查询,大约需要一分钟。当我将工作流转移到kubernetes集群时,它会返回到我预期的几百毫秒。谈论无法使用!非常有用。非常感谢。我选择使用AWS来完成这项任务,因为Lambda和Dynamo DB没有这个问题。截至2019年7月底,我在云函数中得到一个简单的查询,大约需要一分钟。当我将工作流转移到kubernetes集群时,它会返回到我预期的几百毫秒。谈论无法使用!