gpt4 book ai didi

node.js - 谷歌云数据存储速度慢(> 800ms)来自计算引擎的简单查询

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:52 26 4
gpt4 key购买 nike

当我尝试从(微型)计算引擎查询 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');
});

不确定它是否相关,但我的应用引擎项目位于美国中部地区,我从中运行查询的计算引擎也是如此。

更新

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

最佳答案

您看到的对数据存储区的初始请求的这种延迟很可能是由于缓存正在预热造成的。 Datastore 使用分布式架构来管理缩放,这允许您的查询随着结果集的大小进行缩放。通过执行更多相同的查询,Datastore 可以更好地为您的查询提供服务,结果的速度也将更加一致。

如果您希望在低数据存储访问率下获得类似的结果速度,建议配置您自己的缓存层。 Google App Engine 提供 Memcache它针对与 Datastore 一起使用进行了优化。由于您是从 Compute Engine 发出请求,因此您可以使用其他第三方解决方案,例如 RedisMemcached .

关于node.js - 谷歌云数据存储速度慢(> 800ms)来自计算引擎的简单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40454958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com