小编Rey*_*rde的帖子

来自计算引擎的简单查询的谷歌云数据存储缓慢(> 800 毫秒)

当我尝试从(微)计算引擎查询 Google Cloud Datastore 时,通常需要 800 毫秒以上才能得到回复。我得到的最好的是 450 毫秒,最坏的是 > 3 秒。

我的印象是延迟应该低得多(比如 20-80 毫秒),所以我猜我做错了什么。

这是我用来查询的 (node.js) 代码(来自只有一个实体的简单数据存储):

const Datastore = require('@google-cloud/datastore');
const projectId = '<my-project-id>';

const datastoreClient = Datastore({
  projectId: projectId
});

var query = datastoreClient.createQuery('Test').limit(1);

console.time('query');
query.run(function (err, test) {
  if (err) {
    console.log(err);
    return;
  }
  console.timeEnd('query');
});
Run Code Online (Sandbox Code Playgroud)

不确定它是否相关,但我的 app-engine 项目在美国中部地区,我运行查询的计算引擎也是如此。

更新

经过更多测试,我发现您在使用 Google 提供的 Node.js 库时获得的默认身份验证(令牌?)会在大约 4 分钟后过期。
换句话说:如果您使用相同的流程,但在请求之间等待 4 分钟或更长时间,则查询时间将回到 >800 毫秒。
我还尝试使用密钥文件进行身份验证,这似乎做得更好:后续请求仍然更快,但初始请求只需要一半的时间(> 400 毫秒)。

node.js google-cloud-datastore google-cloud-platform

5
推荐指数
1
解决办法
1803
查看次数